2016-08-23 59 views
0

IMAP4.select()返回的郵件數量超過了gmail收件箱中的郵件數量。爲什麼IMAP4.select()顯示的郵件數量比收件箱中的郵件數量多

def login_credentials(): 
    db = MySQLdb.connect("192.168.140.38","admin_newsletter","zxax5575","admin_newsletter") 
    cursor = db.cursor() 
    sql="SELECT email, password FROM readmail_account" 
    cursor.execute(sql) 
    details = cursor.fetchone() 
    return details 

def connect_imap(): 
    m = imaplib.IMAP4_SSL("imap.gmail.com") # server to connect to 
    print("{0} Connecting to mailbox via IMAP...".format(datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S"))) 
    details = login_credentials() 
    m.login(details[0], details[1]) 
    print m.select() 

connect_imap() 

這使輸出

( 'OK',[ '22587'])

但我只有22309在我的收件箱的郵件,爲什麼如此?

+0

它顯示閱讀+未讀郵件,我猜。計數22,309必須是未讀郵件,而22587是所有郵件。 –

+0

你是如何到達22,309的數字? –

回答

0

select()函數返回所有消息的計數。

選擇一個郵箱。返回的數據是郵箱中的郵件數量(EXISTS響應)。默認郵箱是「INBOX」。如果設置了只讀標誌,則不允許對郵箱進行修改。

你平時看到郵件的數量是封未讀郵件只,不讀的人的數量。使用搜索功能。

status, response = mail.search(None, 'ALL') 
response = str(response[0], encoding='utf8') 
listresponse = response.split(" ") 
print(len(listresponse),"new e-mails.") 
+0

imap4.select()給出的郵件數量比收件箱中的郵件數量多。 – user5319825

+1

也許是因爲gmail的標籤?嘗試檢查特定郵箱並查看結果是否準確?如果沒有別的,那就消除了一種可能性。 –

相關問題