Мы используем дурака для посылания электронных писем.
mutt -s "Test" -e "Content-Type: text/html" test@example.com < message.html
Мы отсылаем наши почтовые обновления в формате HTML. Мы хотели бы послать электронные письма как многослойные содержащий и текстовую версию и версию HTML.
Envirnonment: RedHat Enterprise Linux 5, дурак
Как мы создаем такое многослойное сообщение в Linux, когда почтовый предмет, и HTML и текстовые версии почтового тела даны?
Создайте сообщение типа multipart/alternative
как зарегистрировано в RFC 2046:
From: Example Company <news@example.com> To: Joe User <joe.u@example.net> Date: Sat, 21 May 2011 17:40:11 +0300 Subject: Multipart message example MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=asdfghjkl --asdfghjkl Content-Type: text/plain; charset=utf-8 Hello everyone! --asdfghjkl Content-Type: text/html; charset=utf-8 <!DOCTYPE html> <body> <p>Hello everyone!</p> </body> --asdfghjkl--
Посмотрите RFC 2046 и RFC 5322 для точного синтаксиса.
Мы можем использовать дурака для отправки многослойного электронного письма, созданного на шаге 1 от подсказки Linux?
Если Вы находите способ установить правильный заголовок Типа контента. (В Вашем примере Вы используете -e
, но использование дурака -e
в различных целях. Даже -e "my_hdr Content-Type: ..."
оставляет оригинальный текст / простым заголовком неповрежденный.)
Лучше отправить сгенерированную почту непосредственно через sendmail
. Необходимо будет создать заголовки сами – посмотрите пример; использовать strftime("%a, %d %b %Y %T %z")
для Даты и строки случайных алфавитно-цифровых символов для границы. Затем передайте подготовленное сообщение по каналу, включая заголовки, к sendmail -i -t
:
sendmail -i -t < above-example.txt
( -t
средства опции "получают получателей от До: строка"; можно альтернативно использовать sendmail -i joe.u@example.net
)