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!