Ich möchte die gesamte Nachricht vom IMAP4-Server abrufen. In Python-Dokumentation, wenn dieses Stück Code gefunden, das funktioniert:Wie man einen E-Mail-Körper mit imaplib in Python holt?
>>> t, data = M.fetch('1', '(RFC822)')
>>> body = data[0][1]
Ich frage mich, wenn ich immer vertrauen können, dass die Daten [0] [1], um den Körper der Nachricht zurückgibt. Wenn ich 'RFC822.SIZE' ausgeführt habe, habe ich nur eine Zeichenfolge anstelle eines Tupels.
Ich habe durch RFC1730 überflogen, aber ich war nicht in der Lage, die richtige Antwort Struktur für die "RFC822" herauszufinden. Es ist auch schwierig, die Fetch-Ergebnisstruktur aus der imaplib-Dokumentation zu ermitteln. Hier
ist das, was ich bekomme, wenn RFC822
holen:
('OK', [('1 (RFC822 {858569}', 'body of the message', ')')])
Aber wenn ich RFC822.SIZE
hole ich bin immer:
('OK', ['1 (RFC822.SIZE 847403)'])
Wie sollte ich die Daten richtig verarbeiten [0] Liste ? Kann ich darauf vertrauen, dass, wenn es eine Liste von Tupeln ist, die Tupel genau 3 Teile haben und der zweite Teil die Nutzlast?
Vielleicht kennen Sie eine bessere Bibliothek für imap4?
wenn u erfolgreich den Körper Mail abgerufen können Sie bitte den Code teilen? – hussain