如何阅读电子邮件文件(已保存的电子邮件到本地驱动器,扩展名为“.msg”)?
我尝试了这两行,但它没有成功。
msg = open('Departure HOUSTON EXPRESS Port NORFOLK.msg', 'r')
print msg.read()
我在网上搜索了一个答案,其中给出了以下代码:
import email
def read_MSG(file):
email_File = open(file)
messagedic = email.Message(email_File)
content_type = messagedic["plain/text"]
FROM = messagedic["From"]
TO = messagedic.getaddr("To")
sujet = messagedic["Subject"]
email_File.close()
return content_type, FROM, TO, sujet
myMSG= read_MSG(r"c:\\myemail.msg")
print myMSG
但是它会出错:
Traceback (most recent call last):
File "C:\Python27\G.py", line 19, in <module>
myMSG= read_MSG(r"c:\\myemail.msg")
File "C:\Python27\G.py", line 10, in read_MSG
messagedic = email.Message(email_File)
TypeError: 'LazyImporter' object is not callable
互联网上的一些回复告诉你最好在解析之前将.msg转换为.eml,但我不确定如何。
读取.msg文件的最佳方法是什么?
答案 0 :(得分:2)
您现在拥有的代码看起来完全不适合您尝试完成的任务。你需要解析Outlook&#34; .msg&#34;文件,其中can be done在Python中但未使用email
模块。但是,如果你可以使用&#34; .eml&#34;如你所提到的文件,它会更容易,因为email
模块可以读取这些文件。
要阅读.eml文件,请参阅email.message_from_file()。