hal*_*leo 6 python email rfc822 python-3.x
根据我的理解mbox,Python 3.6 标准库中的类生成类型为 的旧式消息对象email.message.Message。
email.message.EmailMessage3.4/3.6 中引入的较新类提供了对消息内容的更轻松访问(通过get_content()和get_body())。如何email.message.Message将从mbox迭代器获得的对象转换为email.message.EmailMessage对象?
根据@ManuelJaco 的评论,我能够创建一个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)
Run Code Online (Sandbox Code Playgroud)
注意:当迭代mbox所有消息(甚至消息中包含的消息!)时,都是该email.message.EmailMessage类型。
| 归档时间: |
|
| 查看次数: |
1222 次 |
| 最近记录: |