我正在编写一个脚本,以便在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()
我哪里错了?
答案 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,但我相信没有太大区别。)