2012-02-26 12 views
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

私は再現できません:私のアカウントでは、「1未読メール」が何度も繰り返し印刷されています。 –

+0

また、なぜ2回目に20を返しますか?それは待っていた分に19の新しい電子メールを受け取ったのですか?また、その間にその電子メールをチェックしていないことを確かめていますか? –

答えて

-1

私が知る限り、目に見えないメールが1つ増えます。 アカウントに未読メールがいくつかあることを確認してください。置き換え :

print len(uid_list), 'Unseen emails.' 

これは動作するはず

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

で。

関連する問題