Python exchangelib-如何捕获/将电子邮件另存为png

问题描述

在将电子邮件另存为.png方面需要您的帮助。下面的代码将获取电子邮件的正文,但无法在电子邮件的正文中获取屏幕截图。

with open(r"output.txt","w") as output:
    for item in fromfolder.filter(is_read=False):
        output.write('{}\n'.format(item.body))
        item.is_read = True
        item.save()
        item.move(archieve)

曾尝试将电子邮件另存为eml和msg,但没有任何结果。

解决方法

item.body包含电子邮件的整个正文,而不仅仅是正文中包含的图像。

exchangelib不提供解析电子邮件正文的方法。您需要为此使用其他软件包。

我认为您最好的选择是解析包含原始电子邮件内容的item.mime_content字段。您可以使用例如https://docs.python.org/3/library/email.parser.html中的email.parser.BytesParser.parse_bytes(mime_content)。这将返回一个EmailMessage和您的PNG图片。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...