在Python中提取仅电子邮件头部
我在用Python提取所有邮件头的时候遇到了一些问题。我知道怎么获取我想要的那些邮件头,但我想保存所有的邮件头,不太确定该怎么做。
我已经把邮件加载到一个邮件对象里了。
import email
f = open(kwargs['opt_emailfile'])
msg = email.message_from_file(f)
f.close()
所以我可以获取到
msg['To']
msg['From']
但是我想要所有的邮件头。
1 个回答
28
可以使用HeaderParser来处理这个问题:
from email.parser import HeaderParser
parser = HeaderParser()
h = parser.parsestr(email)
print h.keys()
我刚注意到你编辑了你的问题。其实你可以直接从你原来的内容中获取相同的信息,而不需要使用HeaderParser。比如说,headers.items()
会返回一个包含两个元素的元组列表,这些元组里有头部信息和对应的值。