python处理eml格式的邮件

zz/2024/4/20 15:40:01

对于数据进行读取

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/2/29/029 22:03
# @Author : H
# @File : getEmailHeader.pyimport os
import re
from email.parser import Parserdef read_mail(path):if os.path.exists(path):with open(path) as fp:email = fp.read()return emailelse: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'>


http://www.ngui.cc/zz/1544525.html

相关文章

eml html显示工具,电脑打开eml文件的三种方法【图文教程】

EML是电子邮件格式文件&#xff0c;一般可以用Outlook打开&#xff0c;电脑接收到eml文件&#xff0c;但发现这个文件复制到电脑上不能正常打开&#xff0c;这是什么情况&#xff1f;要打开这种文件其实也没有那么麻烦&#xff0c;日常用的工具就可以了&#xff0c;接下来和大家…

Java实现eml文件的解析

最近在做邮件归档&#xff0c;然后需要解析邮件导出的eml&#xff0c;记录每封邮件的归档时间&#xff0c;发件人、标题、发件时间、归档的目录 以下是一个demo示例&#xff1a;待完成此功能后再优化后续代码 import java.io.FileInputStream; import java.io.FileOutputStrea…

Outlook 2007中打开eml格式文件

安装Outlook 2007后&#xff0c;只支持新的.msg邮件格式&#xff0c;而不支持双击打开.eml格式&#xff0c; 下面方法可以解决此问题&#xff1a; Windows Vista / XP 下 1、关闭 Outlook 2007。 2、regedit&#xff0c;打开注册表 3、修改HKEY_CLASSES_ROOT\Microsoft Inte…

java eml_java读取eml文件 | 学步园

writeTo方法可以把message信息写入OutputStream&#xff0c;从洏可以保洊冲eml文件。项目中一個濡浗是需要把eml文件读入並解析。自己实现解析当然可以&#xff0c;不过挺复杂的&#xff0c;要实现信息头的分析&#xff0c;信息本题的分析...首先想到的當然是javamail本身哋功能…

outlook2007打开eml格式文件

同事说供应商发来的附件打不开&#xff0c;我一看&#xff0c;是eml格式的&#xff0c;网上查了下&#xff0c;知道是outlook express的格式。baidu了下&#xff0c;在这里找到答案&#xff0c;http://leilycn.blog.163.com/blog/static/81227462010112114740732/。 测试后发现…

java eml_javamail读取并解析eml文件

javamail读取并解析eml文件writeTo方法可以把message信息写入OutputStream&#xff0c;从而可以保存冲eml文件。项目中一个需求是需要把eml文件读入并解析。自己实现解析当然可以&#xff0c;不过挺复杂的&#xff0c;要实现信息头的分析&#xff0c;信息本题的分析...首先想到…

html规范eml文件,eml 文件头解析

先简单说明下 eml 的格式&#xff1a;邮件是由邮件头和邮件体构成&#xff0c;邮件体又可能由文本、超文本和附件构成&#xff0c;他们之间是通过 boundary 隔开&#xff0c;在每个 boundary 区域&#xff0c;可以看做由 header value 组成。很显然&#xff0c;可以使用递归解…

EmlParse:一款超轻量级的批量解析EML格式电子邮件的工具

工具特点 1、绿色纯天然&#xff0c;无任何依赖库&#xff0c;文件大小不到150K&#xff1b; 2、可批量解析EML格式的电子邮件&#xff1b; 3、可提取EML文件中的正文和附件到指定目录&#xff1b; 4、可生成HTML格式的邮件列表清单&#xff0c;方便用户进行离线阅读&#xff…

java mail eml_使用JavaMail解析EML文件

Java当我们在outlook中保存一个邮件是可以存成eml格式&#xff0c;这种格式是标准的邮件格式. 这种文件可以用JavaMail来解析。import java.util.*;import java.io.*;import javax.mail.*;import javax.mail.internet.*;public class ReadEmail {public static void main(Strin…

HTML打开eml文件,eml文件怎么打开?.eml是什么格式文件?

.eml是什么格式文件&#xff1f;我们都知道Email邮件是可以从邮箱中导出的&#xff0c;导出之后的产物&#xff0c;便是eml格式文件&#xff0c;便于在无网络的情况下传播邮件中的文字&#xff0c;那eml文件怎么打开呢&#xff1f;打开&#xff0c;最好的方法是使用记事本打开&…