使用Python计算邮箱中消息数量

3 投票
4 回答
13312 浏览
提问于 2025-04-15 23:46

有没有办法在Python中访问一个电子邮件账户(我需要这个功能来查看Gmail,但如果其他邮箱也能用就更好了),并且能够看到收件箱里的邮件数量(也许只看未读邮件的数量)?谢谢。

4 个回答

4

看看Python标准库里的POP3IMAP这两个模块。

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条记录,所以这个方法可能有点局限。

撰写回答