Problem beim löschen von E-Mails in gmail mit imaplib
Ich versuche, Sie zu entfernen-Nachricht aus dem Posteingang-Ordner und alle in Ordnung, aber wenn ich eingeschaltet, um Alle E-Mail-Ordner, das entfernen funktioniert nicht. expunge()
Methode gibt ('OK', [None])
und die Nachricht wurde nicht gelöscht:
>>>import imaplib
>>>server = imaplib.IMAP4_SSL('imap.gmail.com','993')
>>>server.login('[email protected]','Password')
>>>server.select('inbox')
>>>for i in server.search(None,'all')[1][0].split():
... print i+"\n"+server.fetch(i,'(BODY[HEADER.FIELDS (Subject)])')[1][0][1]
...
# that how i know what UID hame my message? I select by subject
#....
#28
#Subject: 1 Question Has 1 Answer - Stack Overflow
#
#
#29
#Subject: 2222222222
#...
>>>server.store(29,'+FLAGS','\\Deleted')
#('OK', ['29 (FLAGS (\\Seen \\Deleted))'])
>>>server.expunge()
#('OK', ['29'])
>>> server.select('[Gmail]/All Mail')
('OK', ['47'])
>>> for i in server.search(None,'all')[1][0].split():
... print i+"\n"+server.fetch(i,'(BODY[HEADER.FIELDS (Subject)])')[1][0][1]
...
#....
#
#46
#Subject: 2222222222
#
#
#47
#Subject: 3333333333333333
#
#....
>>> server.store(47,'+FLAGS','\\Deleted')
('OK', ['47 (FLAGS (\\Seen \\Deleted))'])
>>> server.expunge()
('OK', [None])
Du musst angemeldet sein, um einen Kommentar abzugeben.
So heißt es auf der gmail-blog-Website, Google ' s Implementierung von IMAP ist ein bisschen anders. Wenn Sie Folgen Sie den Anweisungen für die immer mehr üblichen Semantik, hilft es?
er verschiebt alle Mails in ein bestimmtes gmail-label in den gmail-Papierkorb
Erinnern zu aktualisieren Sie Ihre Google Mail-Schnittstelle Ursache es hat cache
* represents the largest number in use
Mit Gmail erweiterte IMAP-Steuerelemente können Sie festlegen, was passiert mit den Nachrichten beim löschen über IMAP.
Nur aktivieren "Erweiterte IMAP-Steuerelemente" in den Gmail-Labs. Der Einstellungen-Seite wird wie folgt Aussehen:
Dann, wenn Sie eine Nachricht markieren als gelöscht und Pressen Sie so pro diese Antwort es wird in den Papierkorb verschoben, dauerhaft gelöscht, archiviert oder auf "Alle E-Mail -" je nachdem, welche Einstellung Sie ausgewählt haben.
imap.store(num, '-X-GM-LABELS', '\\Inbox')
Hier ist eine, die funktioniert mit Gmail und tut es sehr schnell (ohne zu speichern in einer for-Schleife). Dieses Angebot, wie Sie wollen, aber die Idee ist alles da, wie zu benutzen wählen/suchen, und dann führen Sie einen zu speichern, oder wählen Sie einfach auf seine eigene, für alle Elemente mit einem bestimmten label/Ordner: