Wir versenden unsere E-Mail-Updates im HTML-Format. Wir möchten E-Mails mehrteilig versenden, die sowohl eine Textversion als auch eine HTML-Version enthalten.
Wie erstellen wir eine solche mehrteilige Nachricht unter Linux, wenn der Betreff der E-Mail sowie HTML- und Textversionen des E-Mail-Textes angegeben werden?
Können wir mutt verwenden, um die in Schritt 1 erstellte mehrteilige E-Mail über die Linux-Eingabeaufforderung zu senden?
Wie erstellen wir eine solche mehrteilige Nachricht unter Linux, wenn der Betreff der E-Mail sowie HTML- und Textversionen des E-Mail-Textes angegeben werden?
Erstellen Sie eine Nachricht vom Typ, multipart/alternativewie in RFC 2046 dokumentiert :
Von: Beispielfirma <[email protected]>
An: Joe User <[email protected]>
Datum: Sa, 21. Mai 2011, 17:40:11 Uhr +0300 Uhr
Betreff: Beispiel für eine mehrteilige Nachricht
MIME-Version: 1.0
Inhaltstyp: mehrteilig / alternativ; Grenze = asdfghjkl
--asdfghjkl
Inhaltstyp: Text / Klartext; Zeichensatz = utf-8
Hallo zusammen!
--asdfghjkl
Inhaltstyp: text / html; Zeichensatz = utf-8
<! DOCTYPE html>
<body>
<p> Hallo allerseits! </ p>
</ body>
--asdfghjkl--
Können wir mutt verwenden, um die in Schritt 1 erstellte mehrteilige E-Mail über die Linux-Eingabeaufforderung zu senden?
Wenn Sie eine Möglichkeit finden, den richtigen Content-Type-Header festzulegen. (In Ihrem Beispiel verwenden Sie -e, aber mutt verwendet -efür verschiedene Zwecke. -e "my_hdr Content-Type: ..."Lässt sogar den Originaltext / die einfache Überschrift intakt.)
Es ist besser, generierte E-Mails direkt zu versenden sendmail. Sie müssen die Header selbst erstellen - siehe Beispiel; Verwenden Sie strftime("%a, %d %b %Y %T %z")für Datum und eine Zeichenfolge aus zufälligen alphanumerischen Zeichen für die Grenze. Leiten Sie dann die vorbereitete Nachricht einschließlich der Überschriften an sendmail -i -t:
sendmail -i -t < above-example.txt
(Die -tOption bedeutet "Empfänger aus der Zeile An abrufen"; Sie können sie alternativ verwenden. sendmail -i [email protected])
Danke für die tolle Antwort, Grawity! Vielen Dank auch dafür, dass Sie ausführlich erklärt haben, wie Sie eine mehrteilige E-Mail erstellen. :)
user544192
0
Schauen Sie sich https://github.com/shivylp/mailprod an . Ich habe dieses kleine Python-Dienstprogramm / diese kleine Python-Bibliothek entwickelt, da die Verwendung der Befehlszeile für große E-Mails keine zuverlässige Option zu sein schien. Mit mailprodcli ist es so einfach wie zu sagen mailprodcli template.xml --send. Beispiel template.xml, die sogar ein Bild enthält, ist so einfach wie:
Wird dies auch eine Klartextversion senden? Ich glaube, OP möchte eine mehrteilige E-Mail senden, in der sowohl HTML- als auch Klartextinhalte in derselben Nachricht enthalten sind.
Schauen Sie sich https://github.com/shivylp/mailprod an . Ich habe dieses kleine Python-Dienstprogramm / diese kleine Python-Bibliothek entwickelt, da die Verwendung der Befehlszeile für große E-Mails keine zuverlässige Option zu sein schien. Mit mailprodcli ist es so einfach wie zu sagen
mailprodcli template.xml --send
. Beispiel template.xml, die sogar ein Bild enthält, ist so einfach wie:quelle