使用 Python 显示电子邮件的完整原始来源

Show the full original source of an email with Python

Reading the mail content of an mbox file using python mailbox的主要答案 显示如何显示 .mbox 文件中的电子邮件内容:

if message.is_multipart():
    content = ''.join(part.get_payload(decode=True) for part in message.get_payload())
else:
    content = message.get_payload(decode=True)

然而,这并没有显示电子邮件的 "full original source";我的意思是单击 "Show original message" 时我们几乎可以在所有网络邮件中拥有:

Delivered-To: ...
Return-Path: ...
...

如何用Pythonmailbox得到这个?

如果 message 是一个 Python email.message.EmailMessage 对象(或 Python 3.5 之前的遗留 email.massage.Message class),只需调用它的 .as_string() 方法。

有效负载方法非常具体地只提取一个 MIME 部分。