使用python邮箱读取mbox文件的邮件内容

发布于 2021-01-29 16:01:08

我正在尝试使用Python邮箱打印邮件的内容(邮件正文)。

import mailbox

mbox = mailbox.mbox('Inbox')
i=1
for message in mbox:
    print i
    print "from   :",message['from']
    print "subject:",message['subject']
    print "message:",message['**messages**']
    print "**************************************" 
    i+=1

但是我觉得message [‘ messages
‘]不是在此处打印邮件内容的正确方法。我从文档中无法理解

关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    要获取消息内容,请使用get_payload()mailbox.Message是的子类email.message.Message。您还需要检查,is_multipart()因为这会影响的返回值get_payload()。例:

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


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看