我的应用程序是用 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 获取电子邮件的正文呢?请帮帮我。