Уже был "однострочник", который разместил правильный ответ.Я все еще чувствую, что лучше публиковать сообщения о том, как и почему.
Причина, по которой вы не можете просто вставить HTML-код прямо в свою почту, заключается в том, что получатель (клиент) не знает, как его отобразить.Таким образом, он, скорее всего, просто вернется к чистому тексту, и все, что вы увидите, это ваш HTML-код при просмотре сообщения.
Что вам нужно, это сообщить клиенту, что содержимое вашего сообщения составлено в HTML.Это можно сделать, добавив в сообщение правильный заголовок MIME.
Content-Type: text/html; charset=UTF-8
MIME-Version: 1.0
Обратите внимание, что вы также можете установить информацию о кодировке.
Версия MIME предназначена для лучшей совместимости, и некоторые SMTP-серверы будут предоставлятьу вас более высокий балл за спам, если вы не подчиняетесь RFC:)
Но с этими заголовками теперь все содержимое BODY будет обрабатываться как содержимое HTML.
Я не простохочу предоставить вам «одну строку», я думаю, что показ большего в сценарии лучше, чтобы его было легче читать.
Так как насчет этого
(
echo "From: my@email.tld";
echo "To: some@email.tld";
echo "Subject: Test html mail";
echo "Content-Type: text/html";
echo "MIME-Version: 1.0";
echo "";
echo "<strong>Testing</strong><br><font color=\"blue\">I'm Blue :)</font>";
) | sendmail -t
Ну, технически, это все еще однострочник :) Но это выглядит лучше, и вы можете видеть, что происходит!
Информация о бонусе
Если вы хотите иметьКак HTML, так и TEXT тела, вам нужно изучить тела с несколькими типами контента.Я включил пример, но вам нужно было бы внимательно прочитать об этом, если вы не очень много знаете о многокомпонентных типах.
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="--0001boundary text--"
--0001boundary text--
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
The TEXT body goes here
--0001boundary text--
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
<strong>HTML code goes here</strong>
--0001boundary text--
Как вы можете видеть, это больше не простое почтовое тело.Но я подумал, что хочу показать вам, как это было сделано на тот случай, если вы хотите попробовать.