python进行邮件文件.eml.pst.msg信息提取(包括附件)

eml文件

解析eml文件使用了eml_parser模块

安装:

pip install eml_parser

使用:

  1. 获得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,这样内容可以直接放到网页中显示。
#第三个参数表示解析返回的数据结构中是否包含附件内容。
  1. 邮件正文部分提取
    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 = 
  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值