【发布时间】:2011-06-21 23:06:55
【问题描述】:
我想使用 python 接收电子邮件。到目前为止,我已经能够得到主题,但不是身体。这是我一直在使用的代码:
import poplib
from email import parser
pop_conn = poplib.POP3_SSL('pop.gmail.com')
pop_conn.user('myusername')
pop_conn.pass_('mypassword')
#Get messages from server:
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
# Concat message pieces:
messages = ["\n".join(mssg[1]) for mssg in messages]
#Parse message intom an email object:
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
for message in messages:
print message['subject']
print message['body']
pop_conn.quit()
我的问题是,当我运行此代码时,它会正确返回主题而不是正文。因此,如果我发送一封主题为“Tester”且正文为“This is a test message”的电子邮件,它在 IDLE 中看起来像这样。
>>>>Tester >>>>None
所以它似乎准确地评估了主题而不是身体,我认为它在解析方法中对吗?问题是我对这些库了解得不够多,无法弄清楚如何更改它以返回主题和正文。
【问题讨论】: