据我了解mbox
Python 3.6 标准库中的类生成以下类型的旧式消息对象email.message.Message
.
较新的班级email.message.EmailMessage
3.4/3.6 中引入的功能可以更轻松地访问消息内容(通过get_content()
and get_body()
)。我怎样才能转换email.message.Message
我从获得的对象mbox
迭代器进入email.message.EmailMessage
物体?
Taking @ManuelJaco 的评论 https://stackoverflow.com/questions/57456080/in-python-how-to-convert-an-email-message-message-object-into-an-email-messag#comment101415754_57456080我能够创建一个mbox
自动包含该类型的消息对象的实例email.message.EmailMessage
:
def make_EmailMessage(f):
"""Factory to create EmailMessage objects instead of Message objects"""
return email.message_from_binary_file(f, policy=email.policy.default)
mbox = mailbox.mbox(mboxfile, factory=make_EmailMessage)
注意:迭代时mbox
所有消息(甚至消息中包含的消息!)都是email.message.EmailMessage
type.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)