首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用poplib获取UnRead消息

使用poplib获取UnRead消息
EN

Stack Overflow用户
提问于 2013-12-06 09:22:33
回答 1查看 3.8K关注 0票数 2

我正在尝试编写一些脚本来检查使用pop3的邮件服务。如你所见,我使用的是poplib模块。但是,我看不到获取未读消息的正确方法。我发现了一个检索所有邮件的方法,所以它在这个调用中花费了很多时间:

代码语言:javascript
复制
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]

有没有过滤未读邮件的方法?你知道有其他好的模块来处理pop邮件服务吗?下面是我使用的代码:

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2016-09-15 21:50:08

有一种解决方法。

您可以使用message_count, mailbox_size = pop_conn.stat()检索message_count并以某种方式进行存储。稍后,您可以再次调用pop_conn.stat()并将message_count与存储的值进行比较(请记住,如果存储值发生更改,请更新存储值)。区别在于“未读”邮件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20414231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档