Multipart-/Alternative-Mails in Mutt erstellen?

Multipart-/Alternative-Mails in Mutt erstellen?

Ich möchte eine text/plainNachricht mit Markdown-Formatierung erstellen und diese in eine multipart/alternativeNachricht umwandeln, deren text/htmlTeil aus Markdown generiert wurde. Ich habe versucht, dies mit dem Filterbefehl durch ein Python-Programm zu filtern, das die Nachricht erstellt, aber es scheint, dass die Nachricht nicht richtig gesendet wird. Der Code ist unten (das ist nur Testcode, um zu sehen, ob ich multipart/alternativeüberhaupt Nachrichten erstellen kann).

import sys
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

html = """<html>
          <body>
          This is <i>HTML</i>
          </body>
          </html>
"""

msgbody = sys.stdin.read()

newmsg = MIMEMultipart("alternative")

plain = MIMEText(msgbody, "plain")
plain["Content-Disposition"] = "inline"

html = MIMEText(html, "html")
html["Content-Disposition"] = "inline"

newmsg.attach(plain)
newmsg.attach(html)

print newmsg.as_string()

Leider wird in Mutt beim Verfassen nur der Nachrichtentext an den Filterbefehl gesendet (die Header sind nicht enthalten). Sobald ich das zum Laufen gebracht habe, wird der Markdown-Teil wohl nicht mehr so ​​schwer sein.

Antwort1

Ich würde die Frage gerne weiter kommentieren, bin jedoch aufgrund meines Rufs blockiert.

Ich habe versucht, mehrteilige Alternativen in Mutt in einem Wrapper-Skript für meinen Editor zu erstellen, wie von @n611x007 vorgeschlagen. Ich habe erfolgreich ein Python-Skript erstellt, das eine vom Editor erstellte E-Mail akzeptierte und dann eine neue Nachricht erstellte, die eine mehrteilige Alternative derselben Nachricht war.

Allerdings interpretierte Mutt die daraus erstellte gültige alternative RFC2822-Mail mit mehreren Teilen als etwas, das nur ein einfacher Textkörper sein konnte, und formulierte das Mehrfachteil als eine sehr schwer lesbare Text-/einfache MIME-Komponente um.

Daher vermute ich, dass die Generierung einer mehrteiligen MIME-Nachricht über Skripting mit einem interaktiven Ansatz nicht wirklich möglich ist, obwohl dies sicherlich durch die explizite Manipulation der MIME-Nutzlast im Bildschirm nach der Erstellung möglich ist, wo man normalerweise Anhänge usw. erstellen würde. Für etwas, das man regelmäßig tun könnte, ist der Workflow jedoch nicht gut genug.

Der alternative Ansatz wäre, die Multipart-Alternative als Teil der Übertragung zu generieren, als Wrapper für den lokalen Sendmail-Befehl oder als Skript, das die Kommunikation mit SMTP/S direkt umschließt. Einige Beispiele für diesen Ansatz sindhttps://pypi.python.org/pypi/muttdown/Undhttp://chrismdp.com/2013/10/using-markdown-to-send-html-email-via-mutt/

verwandte Informationen