目标
- 提取单个指定邮件的内容
- 提取指定目录下所有邮件的内容
1、提取单个指定邮件内容
- email.parser.Parser()的parsestr()和parse()方法都可以用来从原始邮件文件中提取邮件头信息。这两个方法的区别就parsestr处理的是字符串对象,parse处理的是文件对象。
- 本文以使用parsestr方法提取邮件内容
1.1 先来看一封邮件的原始信息的一部分:
- 要提取的邮件的路径为:
D:\安然数据集\maildir\allen-p_sent_mail\5 - 邮件内容如下:
Message-ID: 23936138.1075855378263.JavaMail.evans@thyme
Date: Wed, 9 May 2001 17:13:00 -0700 (PDT)
From: phillip.allen@enron.com
To: john.lavorato@enron.com
Subject: Re:
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-From: Phillip K Allen
X-To: John J Lavorato Lavorato/ENRON@enronXgate@ENRON>
X-cc:
X-bcc:
X-Folder: \Phillip_Allen_Jan2002_1\Allen, Phillip K.'Sent Mail
X-Origin: Allen-P
X-FileName: pallen (Non-Privileged).pst
The west desk would like 2 analysts.
1.2 使用parsestr方法提取邮件内容
from email.parser import Parser
file_to_read = 'D:\\安然数据集\\maildir\\allen-p\\_sent_mail\\5'
with open(file_to_read, "r") as f:
data = f.read()
#print(data)
#经过parsestr处理过后生成一个字典
email = Parser().parsestr(data)
# 获取发件人