Wie kann ich Antworten auf eine E-Mail mit Hilfe der Python-imaplib und die ursprüngliche Nachricht?
Ich bin derzeit mit imaplib
zum abrufen von E-Mail-Nachrichten von einem server und das verarbeiten der Inhalte und Anhänge.
Ich würde gern Antworten auf die Meldungen mit einem status - /Fehlermeldung und die links zu den resultierenden generierten Inhalte auf meiner Website, wenn Sie verarbeitet werden können. Dies sollte die ursprüngliche Nachricht sollte aber drop-Anhänge (die große) und vorzugsweise ersetzen Sie Sie nur mit Ihrem Dateinamen/- Größen.
Da bin ich schon zu Fuß die MIME-Nachricht Teile, ich gehe davon aus, was ich tun müssen, ist erstellen Sie einen neuen MIME-Nachricht Baumstruktur, die eine Kopie der ursprünglichen Nachricht, und löschen/ersetzen Sie die Befestigung Knoten.
Bevor ich anfange, auf diesem Weg, ich hatte gehofft, jemand kann mir ein paar Tipps geben. Gibt es irgendeine Art library-Funktion, um dies zu tun? Jede Art von standard-Verhalten, das ich bleib?
Ich derzeit kenne/verwende die imaplib
, smtplib
und email
Module und kann aber etwas verpasst haben offensichtlich dort. Diese läuft in Django zu, so kann alles verwenden, was in django.core.email
wenn das macht es einfacher.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die ursprünglichen MIME-Baum-Struktur der eingehenden Nachricht ist wie folgt (mit
email.iterators._structure(msg)
):Antworten über GMail-Ergebnisse in der folgenden Struktur:
I. e. Sie sind nicht so schlau wie ich dachte, nur das verwerfen der Anlagen (gut) und die Bereitstellung von text-und HTML-Versionen, die explizit die Umstrukturierung der "quoted-content."
Ich bin Anfang zu denken, dass ich es auch tun sollte, Antworten Sie einfach mit einer einfachen Botschaft, wie nach verwerfen der Anlagen gibt es nicht sehr viel Sinn, im Sinne der ursprünglichen Nachricht.
Immer noch, möglicherweise auch Antwort auf meine ursprüngliche Frage, da ich herausgefunden haben, wie jetzt eh schon.
Erste, ersetzen Sie alle Anhänge der ursprünglichen Nachricht mit text/plain Platzhalter:
Erstellen Sie dann eine Antwort-Nachricht:
Befestigen Sie dann die ursprünglichen MIME-message-Objekt und senden:
Die resultierende Struktur ist:
Oder es ein wenig einfacher mit Django:
Dem Ergebnis endet (GMail zumindest) zeigt die ursprüngliche Nachricht als "---- Weitergeleitete Nachricht - - - -", das ist nicht ganz das, was ich nach war, aber die Allgemeine Idee, die funktioniert und ich hoffe, diese Antwort hilft, dass jemand versucht, herauszufinden, wie man mit MIME-Nachrichten.