Мы отправляем наши обновления по электронной почте в формате HTML. Мы хотели бы отправлять электронные письма, состоящие из нескольких частей, содержащие как текстовую, так и HTML-версию.
Как мы можем создать такое многокомпонентное сообщение в Linux, когда дана тема письма, а также HTML и текстовые версии тела письма?
Можем ли мы использовать Mutt для отправки составной электронной почты, созданной на шаге 1, из приглашения Linux?
Как мы можем создать такое многокомпонентное сообщение в Linux, когда дана тема письма, а также HTML и текстовые версии тела письма?
Создайте сообщение типа, multipart/alternativeкак описано в RFC 2046 :
От: Пример компании <news@example.com>
To: Joe User <joe.u@example.net>
Дата: сб, 21 мая 2011 г. 17:40:11 +0300
Тема: Пример составного сообщения
MIME-версия: 1.0
Тип контента: составной / альтернативный; граница = asdfghjkl
--asdfghjkl
Тип контента: текстовый / простой; кодировка = UTF-8
Всем привет!
--asdfghjkl
Content-Type: text / html; кодировка = UTF-8
<! DOCTYPE html>
<Тело>
<p> Привет всем! </ p>
</ Body>
--asdfghjkl--
Можем ли мы использовать Mutt для отправки составной электронной почты, созданной на шаге 1, из приглашения Linux?
Если вы найдете способ установить правильный заголовок Content-Type. (В вашем примере вы используете -e, но Mutt использует -eдля разных целей. Даже -e "my_hdr Content-Type: ..."оставляет оригинальный текст / обычный заголовок без изменений.)
Лучше отправлять сгенерированную почту напрямую через sendmail. Вы должны будете сами создать заголовки - посмотрите пример; используйте strftime("%a, %d %b %Y %T %z")для даты и строку случайных буквенно-цифровых символов для границы. Затем направьте подготовленное сообщение, включая заголовки, на sendmail -i -t:
sendmail -i -t < above-example.txt
( -tОпция означает «получить получателей из строки To: »; вы можете использовать альтернативно sendmail -i joe.u@example.net)
Спасибо за отличный ответ, благодарность! Спасибо также за подробное объяснение того, как составить составное письмо. :)
user544192
0
Взгляните на https://github.com/shivylp/mailprod . Я разработал эту маленькую утилиту / библиотеку Python, поскольку использование командной строки для больших писем не казалось надежным вариантом. С mailprodcli это так же просто, как сказать mailprodcli template.xml --send. Пример template.xml, который даже включает изображение, так же прост:
Это также отправит текстовую версию? Я полагаю, что OP хочет отправить электронное письмо, состоящее из нескольких частей, где и HTML, и текст в виде текста включены в одно и то же сообщение.
Взгляните на https://github.com/shivylp/mailprod . Я разработал эту маленькую утилиту / библиотеку Python, поскольку использование командной строки для больших писем не казалось надежным вариантом. С mailprodcli это так же просто, как сказать
mailprodcli template.xml --send
. Пример template.xml, который даже включает изображение, так же прост:источник