E-Mail mit HTML-Text und Anhang kann nicht gesendet werden

E-Mail mit HTML-Text und Anhang kann nicht gesendet werden

Ich kann keine E-Mail mit HTML-Text und Anhang senden. Befehl1:

echo "<html><b>Hello</b></html>" | mail -s "Subject #1" -a "content-type: text/html" [email protected]

Befehl2:

echo "<html><b>Hello</b></html>" | mail -s "Subject #2" -a "content-type: text/html" [email protected] -A "/Users/asdf/Downloads/00000001.pdf" 

Command1 funktioniert einwandfrei. Ich sehe eine E-Mail mit HTML-Text.

Im 2. Befehl liegt der Textkörper nicht im HTML-Format vor.

Bitte lassen Sie mich wissen, wenn ich hier etwas übersehen habe.

Antwort1

Ich weiß nicht, welches E-Mail-Tool Sie verwenden (und welche Version), aber wenn es GNU Mailutils ist, tritt wahrscheinlich dieser Fehler auf:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=918806#22 Eine Problemumgehung besteht darin, zum Erstellen von MIME-Nachrichten die Befehlszeilenoption -M (oder --mime) zu verwenden.

Antwort2

Anhänge werden immer als mehrteilige MIME-Nachrichten gesendet, daher beschreibt der Stamminhaltstyp diemehrteilige Struktur selbst, und jeder Teil hatseine eigeneIm Inneren befindet sich der Content-Type-Header. Sie sollten dies überprüfen, Content-Type: multipart/relatedwenn Sie sich die Quelle einer solchen Nachricht ansehen.

Soweit ich weiß, haben weder Mailutils noch Mailx eine Option, den Inhaltstyp des Textteils separat zu ändern.

Antwort3

Mit einer aktuellen Version von GNU Mailutils kann dies wie mailxfolgt erreicht werden:

echo "<html><b>Hello</b></html>" | mailx --content-type="application/pdf" --attach=/Users/asdf/Downloads/00000001.pdf --content-type="text/html" --subject="Subject #2" [email protected]

Beachten Sie, dass es --content-typesich um eine Positionsoption handelt, die sich aufallenachfolgenden Anhängen (sofern mehrere vorhanden sind) und der zuletzt angegebene Wert wird dann auch für den Nachrichtentext verwendet (deshalb wird er am Ende nochmal geändert).

verwandte Informationen