Python 3收回电子邮件问题

时间:2014-06-29 19:21:53

标签: python email imap

我正在编写一个脚本,以便在python中接收来自我的Gmail电子邮件的电子邮件。我正在设法下载原始电子邮件,但是我无法访问它的某些类型,E.G BODY,TO,FROM等。

import imaplib, email
msrvr = imaplib.IMAP4_SSL('imap.gmail.com', 993)
unm = 'stackoverflow@gmail.com'
pwd = 'lovetocode'
msrvr.login(unm,pwd)
stat,cnt = msrvr.select('Inbox')
stat, dta = msrvr.fetch(cnt[0], '(RFC822)')
b = email.message_from_string(str(dta))
print(b)
print(b['[To]'])
msrvr.close()
msrvr.logout()

我哪里错了?

2 个答案:

答案 0 :(得分:1)

您可能会发现使用原生Python Google SDK更容易处理他们的电子邮件:

https://developers.google.com/appengine/docs/python/mail/

您使用的imaplib模块只会为您提供所有Gmail功能的子集..

答案 1 :(得分:0)

这里有一些解析电子邮件并打印一些标题字段的代码:

msg = email.message_from_string(raw_email)
for field in ('From', 'Subject', 'Received', 'Message-ID'):
    print '{0}: {1}'.format(field, msg[field])

对于调试,还要打印Message对象的原始部分:

print msg.__dict__

(注意:我使用的是Python2.7,但我相信没有太大区别。)