用Python检查Gmail未读邮件数量

34 投票
8 回答
29864 浏览
提问于 2025-04-15 12:03

我怎么能用一段简单的Python代码来查看我Gmail收件箱里未读邮件的数量?如果能从文件里读取密码,那就更好了。

8 个回答

25

好吧,我就按照Cletus的建议,给大家讲讲怎么用imaplib来解决这个问题。我不明白为什么大家非得用gmail.py或者Atom来做这个。其实,这种事情就是IMAP设计出来用的。特别是gmail.py,它居然要解析Gmail的HTML,这实在是太过分了。虽然有些情况下可能需要这样做,但要获取邮件数量可没必要这么复杂!

import imaplib, re
conn = imaplib.IMAP4_SSL("imap.gmail.com", 993)
conn.login(username, password)
unreadCount = re.search("UNSEEN (\d+)", conn.status("INBOX", "(UNSEEN)")[1][0]).group(1)

提前编译正则表达式可能会稍微提高性能。

25

我建议你使用 Gmail原子订阅源

这非常简单:

import urllib

url = 'https://mail.google.com/mail/feed/atom/'
opener = urllib.FancyURLopener()
f = opener.open(url)
feed = f.read()

然后你可以在这篇不错的文章中使用解析订阅源的功能: 用Python检查Gmail

56
import imaplib
obj = imaplib.IMAP4_SSL('imap.gmail.com','993')
obj.login('username','password')
obj.select()
obj.search(None,'UnSeen')

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答