[英]Unread e-mails from Gmail account
我有一個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。我似乎無法弄清楚為什么。
據我所知,您總是會收到一封額外的看不見的電子郵件。 確保您的帳戶中有一些未讀郵件。 替換:
print len(uid_list), 'Unseen emails.'
與
print len(uid_list)-1, 'Unseen emails.'
這應該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.