Python3接收电子邮件问题

Python3接收电子邮件问题,python,email,imap,Python,Email,Imap,我正在用python编写一个脚本来接收来自gmail电子邮件的电子邮件。我正在设法下载原始电子邮件,但是我无法访问某些类型的电子邮件,例如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(

我正在用python编写一个脚本来接收来自gmail电子邮件的电子邮件。我正在设法下载原始电子邮件,但是我无法访问某些类型的电子邮件,例如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()

我哪里出错了?

您可能会发现使用本地Python Google SDK处理电子邮件更容易:


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

以下是一些解析电子邮件并打印一些标题字段的代码:

msg = email.message_from_string(raw_email)
for field in ('From', 'Subject', 'Received', 'Message-ID'):
    print '{0}: {1}'.format(field, msg[field])
为了进行调试,还要打印
消息的原始部分
对象:

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

您没有解析电子邮件:)。有关解析MIME的信息,请参阅
电子邮件
模块。