Wie sende ich E-Mail-Nachrichteninhalte als HTML und nicht als Nur-Text?
Derzeit sende ich eine E-Mail vom Linux-Befehl wie folgt:
echo "Here is the link: file:///S:/some_doc.html" | mail -s "Here is some_doc.html" [email protected]
In einigen E-Mail-Clients die " Datei:///S:/some_doc.html" im Nachrichtentext wird zu einem Link, auf den der Benutzer klicken kann, aber in anderen wenn es als Klartext dargestellt wird, muss der Benutzer die Zeichenfolge kopieren und in einen Webbrowser einfügen. Wie ändere ich den Befehl, damit die Nachricht HTML ist, damit der E-Mail-Client mit dem Link umgehen kann?
Dadurch wird der Link in die Nachricht eingefügt aber es wird immer noch wie Text behandelt, nicht HTML:
echo "Here is the link to: <a href='file:///S:/some_doc.html'>some_doc.html</a>" | mail -s "Here is some_doc.html" [email protected]
2 answers
Ich habe es getan gesehen:
mail -a "Content-type: text/html;" -s Test [email protected] < mail_html.html
Ich hätte erwähnen sollen, ich habe dies auf Ubuntu Server 10.04_x64 mit Gnu Mail Utils getestet -> Postfix
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-01-03 19:49:06
Meldung:
Am besten erstellen Sie eine MIME
Content-Type: multipart/alternative
- Nachricht mit den Teilentext/plain
undtext/html
.-
Für die Faulen reicht
Content-Type: text/html
(mit HTML direkt im Nachrichtentext)....denken Sie jedoch daran, dass es E-Mail-Clients gibt, die HTML nicht anzeigen können.
Was auch immer Sie wählen, add a
charset=utf-8
(wie inContent-Type: text/html; charset=utf-8
) zum Typheader. (Jeder Nicht-Unicode-Zeichensatz (außer vielleichtus-ascii
undiso-8859-1
) ist böse.)
Senden:
Nathaniel schlug
mail -a "Content-Type: text/html"
vor, aber das funktioniert nur mit GNU Mailutils.-
Eine zuverlässigere Möglichkeit besteht darin, die Nachricht
sendmail
zu leiten, aber Sie müssen alle Header selbst erstellen.[email protected] echo -e "From: <$USER>\nTo: <$rcpt>\nDate: $(date "+%a, %d %b %Y %H:%M:%S %z")\nContent-Type: text/html; charset=utf-8\n\n<!DOCTYPE html>\n<p>Here is the link to: <a href=\"file:///S:/some_doc.html\">some_doc.html</a>" | sendmail -i "$rcpt"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-02-08 19:49:59