标签:__ emailcontent python eml content print email 邮件 Subject
对于数据进行读取
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/2/29/029 22:03
# @Author : H
# @File : getEmailHeader.py
import os
import re
from email.parser import Parser
def read_mail(path):
if os.path.exists(path):
with open(path) as fp:
email = fp.read()
return email
else:
print("file not exist!")
def emailInfo(emailpath):
raw_email = read_mail(emailpath) # 将邮件读到一个字符串里面
print('emailpath : ', emailpath)
emailcontent = Parser().parsestr(raw_email) # 经过parsestr处理过后生成一个字典
# for k,v in emailcontent.items():
# print(k,v)
From = emailcontent['From']
To = emailcontent['To']
Subject = emailcontent['Subject']
Date = emailcontent['Date']
MessageID = emailcontent['Message-ID']
XOriginatingIP = emailcontent['X-Originating-IP']
if "<" in From:
From = re.findall(".*<(.*)>.*", From)[0]
if "<" in To:
To = re.findall(".*<(.*)>.*", To)[0]
print("From:\t", From)
print("X-Originating-IP", XOriginatingIP)
print("To:\t", To)
print("Subject:\t", Subject)
print("Message-ID:\t", MessageID)
print("Date:\t", Date)
# 循环信件中的每一个mime的数据块
for par in emailcontent.walk():
if not par.is_multipart(): # 这里要判断是否是multipart,是的话,里面的数据是无用的
content = par.get_payload(decode=True)
# print(str(content,"utf-8",errors='ignore'))
print("content:\t", content.decode(encoding='gbk')) # 解码出文本内容,直接输出来就可以了。
if __name__ == '__main__':
email = "请求预推免系统解锁.eml"
emailInfo(email)
_str = 'str'
print(type(_str))
# 输出为 <class 'str'>
_bytes = b'bytes'
print(type(_bytes))
# 输出为<class 'bytes'>
标签:__,emailcontent,python,eml,content,print,email,邮件,Subject 来源: https://blog.csdn.net/LEE18254290736/article/details/121100387
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。