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

10

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

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

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

Умбер Ферруле
источник

Ответы:

10

Вы должны сообщить 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>
Джеральд Комбс
источник
Если у меня есть тип контента, application/xhtml+xmlон приходит в качестве вложения. Как вы думаете, это можно исправить?
Adobe
Другой вопрос: если у меня есть встроенные изображения в HTML-файле - как мне сохранить их с помощью этого метода ( sendmail -t)?
Adobe
Что касается встроенных изображений: я нашел решение - но gmail не будет загружать изображения (yahoo do).
Adobe
2

Solucion a 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
rgareca
источник
1

с mailафайком это невозможно . Но вот краткое руководство с sendmail.

Кристиан
источник
1

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

mail -a 'Content-type: text/html; charset="us-ascii"' foo@bar.com < /file.html
user55079
источник
Я получаю сообщение об ошибке: Content-type: text/html; charset="us-ascii": No such file or directory. Из почты --help я получаю, что опция -a предназначена для передачи FILE.
Прабхат Кумар Сингх
0

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

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

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

user1686
источник
SMTP (STD 11 / RFC 823, 1982) на самом деле предшествовал MIME (RFC 2045, 1996) и всем его достоинствам с поддержкой HTML. Он был сформирован из шкур бизонов на заре Интернета.
Джеральд Комбс
Джеральд: Я имел в виду mailxMUA (который по некоторым причинам, я чувствую, даже старше), а не саму электронную почту.
user1686
Согласно странице OS X mail (1), «Почтовая команда появилась в Версии 1 AT & T UNIX». Ubuntu говорит, что это была версия 3 AT & T UNIX. В любом случае, похоже, он появился примерно в 1971 или 1973 годах.
Джеральд Комбс
0

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

Wagoo
источник