来自Gmail帐户的未读电子邮件

时间:2012-02-26 23:06:56

标签: python gmail

我有一个python脚本如下:

import imaplib, re
import os
import time
import socket

imap_host = 'imap.gmail.com'
mail = imaplib.IMAP4_SSL(imap_host)
mail.login("user", "pass")
mail.select("inbox") # connect to inbox.

while True:
    try:
        result, data = mail.uid('search', None, 'UNSEEN')
        uid_list = data[0].split()
        print len(uid_list), 'Unseen emails.'
        if len(uid_list) > 20:
         os.system('heroku restart --app xxx')
        time.sleep(60)
    except KeyboardInterrupt:
        print 'Quitting'
        pass

目标是检查有多少未读电子邮件并重新启动Heroku服务器。问题是它似乎不能很好地工作。

~# python gmail_new.py
1 Unseen emails.
0 Unseen emails.

当我第一次开始时,它有效(1个未读电子邮件),但第二次应该返回20而不是0.接下来也是0,从不超过0.我似乎无法弄清楚这是为什么。

1 个答案:

答案 0 :(得分:-1)

据我所知,您会一直收到一封额外看不见的电子邮件。 确保您的帐户中有一些未读邮件。 替换:

print len(uid_list), 'Unseen emails.'

print len(uid_list)-1, 'Unseen emails.'

这应该有效。