2016-11-19 70 views
0

我已經在這裏研究了許多問題和答案,從我能看到我的代碼是正確的。由於某些原因,我選擇的郵件沒有被刪除。消息沒有用m.expunge刪除

我的代碼是:

m = imaplib.IMAP4_SSL("imap-mail.outlook.com") 
m.login("MY_EMAIL","MY_PWORD") 
m.select("Sent") 
resp, data = m.uid("search", None, "ALL") 
uid = data[0].split()[-1] 

#Can also get message content with lines 
# resp,data = m.uid('fetch',uid,"(BODY[HEADER])") 
# print(data) 

m.store(uid, "+FLAGS", "\\Deleted")    #Works fine to here 
m.expunge()          #This doesn't delete message 
m.close() 
m.logout() 

如果我改變m.expunge()print(m.expunge())我得到的元組

( 'OK',[無])

消息即使「OK」響應仍然在郵箱中。 我不確定爲什麼會這樣

回答

0

您正在使用的UID識別信息,所以你還需要使用UID命令更改\刪除標誌:

m.uid('STORE' uid, "+FLAGS", "\\Deleted") 

您正在試圖設置帶有相同UID的消息序列號上的已刪除標誌,該標誌可能不存在,或引用完全不同的消息。