2016-11-19 5 views
0

Ich habe hier zahlreiche Fragen und Antworten studiert und davon, was ich sehe, ist mein Code korrekt. Aus irgendeinem Grund wird die Mail, die ich ausgewählt habe, nicht gelöscht.Nachricht löscht nicht mit m.expunge

Mein Code ist:

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() 

Wenn ich die m.expunge() Linie print(m.expunge()) ändern bekomme ich die Tupel

('OK', [None])

Die Meldung ist immer noch in der Mailbox mit der "OK" -Antwort. Ich bin mir nicht sicher, warum dies

Antwort

0

geschieht Sie UIDs werden mit den Nachrichten zu identifizieren, so müssen Sie auch das Kennzeichen \ Deleted ändern UID-Befehle verwenden:

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

Sie sind zur Zeit einstellen versuchen, die Gelöschtes Flag für Message Sequence Number mit derselben UID, die wahrscheinlich nicht existiert oder auf eine komplett andere Nachricht verweist.

Verwandte Themen