【发布时间】:2010-10-10 07:43:07
【问题描述】:
我的应用程序是用 python 编写的。我正在做的是我在 postfix 收到的每封电子邮件上运行一个脚本,并对电子邮件内容做一些事情。 Procmail 负责运行以电子邮件为输入的脚本。当我将输入消息(可能是文本)转换为 email_message 对象(因为后者派上用场)时,问题就开始了。我正在使用 email.message_from_string (其中 email 是默认的电子邮件模块,带有 python)。
import email
message = email.message_from_string(original_mail_content)
message_body = message.get_payload()
这个 message_body 有时会返回一个列表[email.message.Message instance,email.message.Message instance],有时会返回一个字符串(传入电子邮件的实际正文内容)。为什么。甚至我还发现了另一个观察结果。当我浏览 email.message.Message.get_payload() 文档字符串时,我发现了这个..
"""
有效负载将是一个列表对象或一个字符串。如果你改变
列表对象,您就地修改消息的有效负载....."""
那么我如何使用通用方法通过 python 获取电子邮件正文?请帮帮我。
【问题讨论】:
标签: python email message payload