使用Python计算邮箱中消息数量
有没有办法在Python中访问一个电子邮件账户(我需要这个功能来查看Gmail,但如果其他邮箱也能用就更好了),并且能够看到收件箱里的邮件数量(也许只看未读邮件的数量)?谢谢。
4 个回答
6
试试看
import imaplib
obj = imaplib.IMAP4_SSL('imap.gmail.com', 993)
obj.login('username', 'password')
obj.select('Inbox') <-- it will return total number of mail in Inbox i.e
('OK', ['50'])
obj.search(None,'UnSeen') <-- it will return the list of uids for Unseen mails
1
这里有一个专门针对Gmail的解决方案,可以用来查找未读邮件:
Gmail提供了邮件的原子订阅源。比如说:
https://mail.google.com/mail/feed/atom/ (收件箱中的未读邮件)
http://mail.google.com/mail/feed/atom/labelname/ (某个标签下的未读邮件)
http://mail.google.com/mail/feed/atom/unread/ (所有未读邮件)
你可以使用很棒的feedparser库来获取这些订阅源,并计算里面的条目数量。
不过现在我发现,未读邮件的订阅源似乎只返回最多20条记录,所以这个方法可能有点局限。