Wie man einen email Körper holt, der imaplib in Python benutzt?
Ich möchte zu Holen die gesamte Nachricht aus dem IMAP4-server.
In python docs gefunden, wenn dieses Stück code, der funktioniert:
>>> t, data = M.fetch('1', '(RFC822)')
>>> body = data[0][1]
Frage ich mich, ob ich kann immer darauf Vertrauen, dass data[0][1] liefert den Text der Nachricht. Wenn ich habe 'RFC822.GRÖßE " ich hab nur einen string anstelle eines Tupels.
Habe ich Magermilch durch rfc1730 aber ich war nicht in der Lage, um herauszufinden, die richtige Antwort-Struktur für die "RFC822'. Es ist auch schwer zu sagen, das Ergebnis abrufen Struktur von imaplib Dokumentation.
Hier ist, was ich bekommen beim abholen RFC822
:
('OK', [('1 (RFC822 {858569}', 'body of the message', ')')])
Aber wenn ich fetch RFC822.SIZE
ich bin immer:
('OK', ['1 (RFC822.SIZE 847403)'])
Wie soll ich richtig mit den Daten[0] Liste?
Kann ich darauf Vertrauen, dass, wenn es ist eine Liste von Tupeln Tupel hat genau 3 Teile und der zweite Teil ist die Nutzlast?
Vielleicht wissen Sie besser-Bibliothek für imap4?
InformationsquelleAutor der Frage Piotr Czapla | 2010-02-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein...
imaplib
ist eine ziemlich gute Bibliothek, es ist imap, das ist so unverständlich.Möchten Sie vielleicht zu prüfen, die
t == 'OK'
aberdata[0][1]
funktioniert wie erwartet für so viel wie ich haben verwendet es.Hier ein schnelles Beispiel, das ich verwenden, um zu extrahieren signierte Zertifikate habe ich per E-Mail erhalten, nicht bombensicher, aber passt meine Zwecke:
InformationsquelleAutor der Antwort MattH
Den IMAPClient Paket ist ein gutes Stück einfacher, mit zu arbeiten. Aus der Beschreibung:
InformationsquelleAutor der Antwort Peter Hansen
Dies war meine Lösung zum extrahieren der nützliche bits von Informationen. Es ist so zuverlässig, so weit:
InformationsquelleAutor der Antwort Edward Chapman
imap-tools
Bibliothek für effektives arbeiten mit E-Mail-Nachrichten mithilfe von IMAP-Protokoll.
InformationsquelleAutor der Antwort Vladimir