如何使用python从linux上的.msg文件读取和提取数据?

时间:2019-04-09 15:21:54

标签: python email-attachments email-integration

我正尝试使用以下代码从.msg文件中提取附件,如建议here。以下只是测试附件是否被读取的部分代码

import email

with open('input/message.msg', 'rb') as fp:
    msg = email.message_from_binary_file(fp)

for part in msg.walk():
    print(part.get_content_type())
    print(part.get_filename())
    print(part.get_content_maintype())

我希望其中一些print语句会输出类似于image/png的内容,但是即使该电子邮件包含大量附件,输出也很简单

text/plain
None
text

您对我在做什么有任何暗示吗?我正在使用python 3.7.3的Linux机器上。

谢谢

修改

我并没有进行过多研究,但最终使用了Python module msg-extractor,它使用以下代码可以正常工作

import extract_msg
msg = extract_msg.Message("input/email.msg")
for msg in msg.attachments:
    print(msg.save())

具有所有可用方法的附件类是实现here,我只需要存储附件。 我将继续讨论这个问题,以期找到更相关的答案。

1 个答案:

答案 0 :(得分:0)

您有机会尝试过一家独立软件公司的MSG PY模块。这是一个示例:

$ ./mwe.py 
['test']