Wie erstellen wir eine solche mehrteilige Nachricht unter Linux, wenn der E-Mail-Betreff und HTML- und Textversionen des E-Mail-Texts angegeben sind?
Erstellen Sie eine Nachricht vom Typ multipart/alternative
wie in RFC 2046 dokumentiert:
From: Example Company <example@unixlinux.online> To: Joe User <example@unixlinux.online> Date: Sat, 21 May 2011 17:40:11 +0300 Subject: Multipart message example MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=asdfghjkl --asdfghjkl Content-Type: text/plain; charset=utf-8 Hello everyone! --asdfghjkl Content-Type: text/html; charset=utf-8 <!DOCTYPE html> <body> <p>Hello everyone!</p> </body> --asdfghjkl--
Siehe RFC 2046 und RFC 5322 für die genaue Syntax.
Können wir Mutt verwenden, um die in Schritt 1 erstellte mehrteilige E-Mail von der Linux-Eingabeaufforderung aus zu senden?
Wenn Sie einen Weg finden, den richtigen Content-Type-Header festzulegen. (In Ihrem Beispiel verwenden Sie -e
, aber mutt verwendet -e
für verschiedene Zwecke. Sogar -e "my_hdr Content-Type: ..."
lässt den ursprünglichen Text/einfachen Header intakt.)
Es ist besser, generierte E-Mails direkt über sendmail
zu senden . Sie müssen die Kopfzeilen selbst erstellen – siehe Beispiel; Verwenden Sie strftime("%a, %d %b %Y %T %z")
für Datum und eine Folge von zufälligen alphanumerischen Zeichen für die Grenze. Leiten Sie dann die vorbereitete Nachricht, einschließlich Header, an sendmail -i -t
weiter :
sendmail -i -t < above-example.txt
(Die -t
Option bedeutet "Empfänger von An: abrufen Zeile"; Sie können alternativ sendmail -i example@unixlinux.online
verwenden )