从python中的mbox解析电子邮件内容

时间:2014-04-17 14:55:38

标签: python email

以下是我运行的用于解析主目录中mbox内容的代码。

import sys
import mailbox

def gen_summary(filename):
    mbox = mailbox.mbox(filename)
    for message in mbox:
       subj = message['subject']
       sender = message['from'] 
       content = message.get_payload()
       print subj,sender
       print(content)

主题和发件人打印正常​​,但内容打印为如下所示的实例:

[<email.message.Message instance at 0x7f831f3df758>, <email.message.Message instance at 0x7f831f3e43f8>]

实际内容如下:

Xyz.abc.com
Lmn.pqr.com
Def.ghi.com

我的目标是编写一个脚本来接受用户的所有传入电子邮件并处理内容并将结果发送回发件人。如果有更好的方法可以告诉我。

2 个答案:

答案 0 :(得分:0)

我有使用Outlook的经验,其中Message是附加了一些方法和属性的MailItem实例,因此您可以像Msg.SubjectMsg.BodyMsg.To等一样访问它

对于Mailbox,有以下mbox python tutorial正在回答您的问题。

答案 1 :(得分:0)

消息有效负载是多部分的。 我检查了len(message.get_payload()),它显示&#34; 2&#34; 然后我单独打印了两个部分。

我从message.get_payload()[0] .get_payload()中获取了内容。 结果如预期:

Xyz.abc.com
Lmn.pqr.com
Def.ghi.com