Python imaplib UNSEEN gibt alle Mails aus.

OP #5176978
Hallo,
ich möchte unter Python alle ungelesenen Mails per IMAP von Gmail 
abrufen.
Mein Postfach sieht in etwa so aus:
https://cdn0.tnwcdn.com/wp-content/blogs.dir/1/files/2011/11/Screen-Shot-2011-11-01-at-9.07.19-AM.png
(z.B. 5 ungelesene Mails)

Beim Abrufen der Mails mit dem UNSEEN-Flag bekomme ich eine Liste, die 
wesentlich länger als 5 ist.
1
import imaplib
2
from pprint import pprint
3

4
imapObj = imaplib.IMAP4_SSL('imap.gmail.com')
5
imapObj.login('meineMailAdresse@gmail.com', 'MEIN_PASSWORT')
6
mailboxes = imapObj.list()
7
pprint(mailboxes)
8

9
imapObj.select('INBOX')
10
result, data = imapObj.uid('search', None, "UNSEEN")
11
print('Ungelesene Nachrichten:')
12
print(data)

Dazu erhalte ich folgende Ausgabe:
1
[b'(\\HasNoChildren) "/" "Arbeit"',
2
 b'(\\HasNoChildren) "/" "Belege"',
3
 b'(\\HasNoChildren) "/" "INBOX"',
4
 ....
5
 b'(\\HasNoChildren \\Important) "/" "[Gmail]/Wichtig"']
6

7
Ungelesene Nachrichten:
8
[b'300 301 303 307 309 310 ..... 450']

Meine Erwartung wäre gewesen, dass ich die Ausgabe
1
[b'446 447 448 449 450']
bekomme.

Laut Dokumentation, wird das SEEN-Flag automatisch gesetzt, wenn ich 
eine Mail im Browser öffne. Daher sollte meine Anzahl ungesesener 
Nachrichten doch wesentlich kleiner sein.

Was mache ich falsch? Habt ihr Tipps zum weiteren Vorgehen?
Ich habe mal eine der angeblich ungelesenen Mails geparsed, dort war ein 
Seen-Flag zu sehen.

Grüße und danke für hilfreiche Tipps!
OP
Danke für die Info,
Das 'None' weniger mache bei mir leider keinen Unterschied. Sämtliche 
Beispiele, die ich im Netz gefunden habe, haben diesen Aufbau.

Habe ich ein Verständnisproblem? Oder ist die Rückgabe tatsächlich 
"falsch"?
Ich werde das Script heute abend mal gegen einen anderen Provider 
testen.

yesitsme schrieb:
> imapObj.uid("SEARCH", "UNSEEN")
Bei dir geht es so? Mit welchem Provider?

Hat Jemand die Möglichkeit das Script ein weiteres mal bei Gmail zu 
testen und meine Rückgabe zu bestätigen? Das Beispiel lauffähig sein.
OP
Jan S. schrieb:
> Ich werde das Script heute abend mal gegen einen anderen Provider
> testen.

Ich habe das Script gerade erfolgreich mit einem anderen Provider 
getestet. Kann mir jemand helfen, wie ich das Problem bei gmail in Griff 
bekommen könnte? Meine Python-Kenntnisse sind leider nicht so gut, dass 
ich in den Modulen debuggen möchte (bzw. ich habe es noch nie gemacht).

Weiß jemand, ob ich das irgendwo als Bug melden kann/sollte?
Ist es überhaupt einer?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.