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