<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      python解析提取.eml郵件內容及附件

      import re
      import os
      import email
      from email.header import decode_header
      from email.utils import parsedate_to_datetime
      
      
      def parse_eml(eml_fp, attr_dir):
          """
          eml文件解析
          :params eml_fp: eml文件路徑
          :params attr_dir: 附件保存目錄
          """
          if not os.path.exists(attr_dir):
              os.makedirs(attr_dir)
      
          # 讀取eml文件
          with open(eml_fp, "r") as file:
              eml_content = file.read()
          # 轉為email對象
          msg = email.message_from_string(eml_content)
      
          # 郵件主題
          subject_bytes, subject_encode = decode_header(msg["Subject"])[0]
          if subject_encode:
              subject = subject_bytes.decode(subject_encode)
          else:
              subject = subject_bytes
          print("主題:", subject)
      
          # 郵件發件人
          from_ip = re.search("<(.*)>", msg["from"]).group(1)
          print("發件人郵箱:", from_ip)
          from_name = decode_header(msg["from"].split("<")[0].strip())
          if from_name:
              if from_name[0] and from_name[0][1]:
                  from_n = from_name[0][0].decode(from_name[0][1])
              else:
                  from_n = from_name[0][0]
          print("發件人名稱:", from_n)
      
          # 郵件時間
          received_date = parsedate_to_datetime(msg["date"])
          print("接收時間:", received_date)
      
          # 郵件正文及附件
          for par in msg.walk():
              if not par.is_multipart():  # 判斷是否為multipart,里面的數據不需要
                  name = par.get_param("name")  # 獲取附件的文件名
                  if name:  
                      # 附件
                      fname = decode_header(name)[0]
                      if fname[1]:
                          attr_name = fname[0].decode(fname[1])
                      else:
                          attr_name = fname[0]
                      print("附件名:", attr_name)
                      # 解碼附件內容
                      attr_data = par.get_payload(decode=True)
                      attr_fp = os.path.join(attr_dir, attr_name)
                      with open(attr_fp, 'wb') as f_write:
                          f_write.write(attr_data)
                  else:  
                      # 正文
                      text_char = par.get_content_charset()
                      if "text/plain" in par["content-type"]:  # 文本正文
                          body = par.get_payload(decode=True).decode(text_char)
                          print("郵件正文:", body)
                      else:  # html格式正文
                          html_body = par.get_payload(decode=True).decode(text_char)
                          print("HTML正文:", html_body)
                  print("-" * 60)
      
      posted @ 2023-09-01 09:22  cnblogs用戶  閱讀(3316)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 人人玩人人添人人澡超碰| 亚洲日本韩国欧美云霸高清| 日韩在线观看精品亚洲| 97午夜理论电影影院| 人人澡人人透人人爽| 国模在线视频一区二区三区| 亚洲精品日韩在线观看| 国产丰满乱子伦无码专区| 亚洲国产午夜精品理论片| 国产成人亚洲综合图区| 霍山县| 自拍偷自拍亚洲精品熟妇人| 一区二区三区四区五区色| 中文字幕日韩精品一区二区三区| 九九热精品视频在线免费| 国产不卡一区在线视频| 中文字幕在线日韩| 国产情侣草莓视频在线| 国产精品视频不卡一区二区 | 国产一区二区精品偷系列| 久久久久成人精品免费播放动漫| 国产一区二区三区九精品| 延庆县| 亚洲 一区二区 在线| 日本中文字幕有码在线视频| 日本熟妇乱一区二区三区| 中文字幕av无码免费一区| 日韩精品专区在线影观看| 午夜激情小视频一区二区| 久久亚洲国产精品久久| 亚洲性av网站| 色综合人人超人人超级国碰| 综合色一色综合久久网| 上司人妻互换中文字幕| 午夜亚洲国产理论片二级港台二级| 曰韩亚洲av人人夜夜澡人人爽| 中文字幕亚洲人妻系列| 激情综合网五月激情五月| 国产精品无码无卡在线播放| 亚洲成人av免费一区| 国产视色精品亚洲一区二区|