Создание многослойного электронного письма и отправка его в Linux

Мы используем дурака для посылания электронных писем.

mutt -s "Test" -e "Content-Type: text/html" test@example.com < message.html

Мы отсылаем наши почтовые обновления в формате HTML. Мы хотели бы послать электронные письма как многослойные содержащий и текстовую версию и версию HTML.

  1. Как мы создаем такое многослойное сообщение в Linux, когда почтовый предмет, и HTML и текстовые версии почтового тела даны?
  2. Мы можем использовать дурака для отправки многослойного электронного письма, созданного на шаге 1 от подсказки Linux?

Envirnonment: RedHat Enterprise Linux 5, дурак

12
задан 21.05.2011, 17:48

0 ответов

Как мы создаем такое многослойное сообщение в 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)

10
ответ дан 07.12.2019, 12:03

Теги

Похожие вопросы