2016-07-06 8 views
0

Ich versuche, ein Skript zu schreiben, das eine bestimmte E-Mail an Archiv verschiebt, nachdem ich seinen Text bekommen habe, aber ich habe überall nachgesehen und viele Lösungen ausprobiert. Nach meinem Verständnis werden alle Labels entfernt, wenn eine Nachricht archiviert wird, und sie wird nur im Ordner "Alle Nachrichten" angezeigt.In Gmail-Archiv verschieben - Python Imaplib

Dies ist mein derzeitiger Code, um zu versuchen, alle Labels zu entfernen, die mit der Nachricht verbunden sind, ich glaube, dass dies die Nachricht archivieren sollte, jedoch scheint es nichts zu tun. Beim Ausführen dieses Codes treten keine Fehler auf.

one, two = self.connection.store(msg_id, '-X-GM-LABELS', "\Inbox \Important \Sent \Seen") 

Vielen Dank!

+0

Versuchen Sie, den Parameter flags einklammern, und macht es ein rohe Zeichenfolge, so dass die Backslashes beibehalten werden: r "(\ Inbox \ Important \ Sent \ Gesehen)" – Max

+0

Dies gibt leider die gleiche Ausgabe! –

+1

Die Ausgabe eines UID MOVE-Befehls an das Postfach "[Gmail]/All Mail" funktioniert. Sie müssen den Namen des Postfachs zuerst mit LIST finden, es sei denn, Sie tun dies nur für ein Gebietsschema. Ich habe keine Ahnung, wie ich die Python imaplib davon überzeugen kann, UID MOVE auszugeben. – arnt

Antwort

1

Der Delete-Flag ist nicht das gleiche wie der Trash-Flag, wenn Sie also Set löschen, wird es in dem Archiv verschieben, indem überschüssige Etiketten zu entfernen

self.connection.store(msg_id, '+FLAGS', '\\Deleted') 
Verwandte Themen