1
我有一个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封看不见的电子邮件”一遍又一遍地打印。 – 2012-02-26 23:17:03
另外,它为什么会第二次返回20?在等待的那一刻你收到了19封新邮件吗?另外,你确定你没有在隔时间内检查该电子邮件吗? – 2012-02-26 23:19:26