我正在尝试编写一些脚本来检查使用 pop3 的邮件服务。如您所见,我使用 poplib 模块。但是,我看不到获取未读消息的正确方法。我找到了一种检索所有邮件的方法,因此在此调用中需要花费大量时间:
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
有没有办法过滤未读消息?你知道其他处理流行邮件服务的好模块吗?这是我正在使用的代码:
import poplib
from email import parser
pop_conn = poplib.POP3_SSL('pop3.live.com', 995) #Connect to hotmail pop3 server
pop_conn.user('address')
pop_conn.pass_('password')
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 "{} : {}\n".format(message['subject'], message['From'])
pop_conn.quit()