Назад | Перейти на главную страницу

Как отправить почту из командной строки Linux, чтобы она отображалась получателю как HTML?

Я пробовал отправить обычную веб-страницу по электронной почте, используя что-то вроде:

mail -s "Test Email" blah@blah.com < webpage.htm

Однако получатель видит необработанные HTML-теги в электронном письме, а не мое тщательное форматирование. Я использую RedHat Linux.

Вам необходимо сообщить MUA, что контент содержит HTML. Традиционно это делается с помощью MIME. Попробуйте добавить в свое сообщение следующие строки заголовка:

Mime-Version: 1.0
Content-Type: text/html

Возможно, вам также потребуется добавить заголовок Content-Transfer-Encoding. В Страница Википедии в MIME содержит более подробную информацию, включая ссылки на соответствующие RFC.

Обновление: это нормально работало при подключении к sendmail -t:

From: me@example.org
To: me@gmail.com
Subject: MIME Test
Mime-Version: 1.0
Content-Type: text/html

<html>
<body>
This is a test.
</body>
</html>

Решение envio html

mail -a 'MIME-Version: 1.0' -a 'Content-Type: text/html; charset=iso-8859-1' -a 'X-AUTOR: Ing. Gareca' -s 'MTA STATUS: mail queue' rgareca@hotmail.com  -- -f seincotel@seincotel.com  < /tmp/eximrep.html

это невозможно с mail Насколько мне известно. Но Вот это краткое руководство по sendmail.

Конечно, это возможно с почтой:

mail -a 'Content-type: text/html; charset="us-ascii"' foo@bar.com < /file.html

Сообщения электронной почты, как и веб-страницы, имеют тип содержимого, указанный в заголовках. 'mail', похоже, предшествует этому и не отправляет его, поэтому все MUA возвращаются к отображению сообщения как текстового / простого.

Если вы хотите указать все заголовки вручную, позвоните sendmail recipient@example.com и передать ему все.

<subjective> Но помните, что, хотя некоторые люди (включая меня) не любят электронные письма в формате HTML, получение писем в формате HTML без альтернативного текста / простой части является действительно раздражает. Итак, если вы не уверены, что получатель может нормально видеть сообщения HTML, было бы лучше отправить составное сообщение с частью обычного текста в качестве альтернативы. </subjective>

uuencode webpage.html webpage.html | mail -s "subject" email@address