Python3接收电子邮件问题
我正在用python编写一个脚本来接收来自gmail电子邮件的电子邮件。我正在设法下载原始电子邮件,但是我无法访问某些类型的电子邮件,例如BODY、to、FROM等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(
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的信息,请参阅电子邮件模块。