eml文件
解析eml文件使用了eml_parser模块
安装:
pip install eml_parser
使用:
- 获得eml实例
import eml_parser
with open("eml文件的路径",'rb') as f:
a=f.read()
eml = eml_parser.eml_parser.decode_email_b(a,True,True)
#decode_email_b方法
#第一个参数是eml文件二进制读出来的内容
#第二个参数表示邮件解析返回的数据结构里是否包含邮件的原始内容,也就是html内容,我这里选True,这样内容可以直接放到网页中显示。
#第三个参数表示解析返回的数据结构中是否包含附件内容。
- 邮件正文部分提取
eml[“body”]是一个列表,列表里每一项按显示类型分,这里我选择获得了text/html类型的正文文本
for i in eml["body"]:
#text/html是带html标签,可以直接放到网页里面展示
#还有类型text/plain,正文部分的文字信息
if i["content_type"] == "text/html":
#下两行是对html样式进行了调整以适配前端显示,可自行调整
body = i["content"].replace('\n','').replace('position:absolute;','')
body = re.sub('body\s*{.*?}', '', body)
break
3.邮件标题、收件人、发件人信息
title = eml["header"]["subject"]
reciver =