Отправить HTML-страницу как письмо, используя "mutt" - PullRequest
30 голосов
/ 24 июля 2011

Я использую Mutt для отправки писем из другого приложения и это работает отлично. Я должен отправить HTML-файлы, и в настоящее время я должен отправить их как приложения. Поэтому я использую

mutt -s "hi" -a attach.html user@domain.com < /dev/null

Но если я попытаюсь отправить HTML-файл в качестве тела, как показано ниже

mutt -e content_type=text/html Email address -s "subject" < test.html

тогда вместо html-файла я получаю исходный текст html-файла.

Есть ли способ сделать тело сообщения html вместо простого текста ???

Ответы [ 5 ]

47 голосов
/ 24 июля 2011

Когда я пробую вашу команду, mutt говорит мне, что content_type=text/html - неизвестная команда.Таким образом, вы должны использовать команду "set", чтобы сделать эту работу:

mutt -e "set content_type=text/html" Email address -s "subject" < test.html

Это сработало в моих тестах.

7 голосов
/ 07 сентября 2012

Я пытался с Mutt 1.6d, и эта опция -e "set content_type = text / html" не работает для меня.После поиска я нашел ниже, командная строка работает для меня:

mutt -e "my_hdr Content-Type: text/html" test@yahoo.com  -s "subject" < mytest.html

Ссылка здесь

LinuxQuestions

5 голосов
/ 08 февраля 2012

моя версия Mutt - 1.4.x, и я также не могу установить content_type = text / html, это сообщается как неизвестная переменная.

и я проверил mutt doc , content_type поддерживается только версией 1.5.x, такой как последняя версия 1.5.21.

очевидно, что html mail не был поддержан версией 1.4.x.

2 голосов
/ 26 августа 2015

Я использую Mutt 1.5.23 для отправки html-письма со встроенным изображением, и это работает для меня. mutt -e "set content_type=text/html" Email -s "subject" -a pic.png < test.html

файл test.html:

<html>

<head></head>

<body>
  <img src="cid:pic.png" " />
</body>
</html>
0 голосов
/ 24 июля 2011

Если вы посмотрите на источник электронного письма в формате HTML, вы увидите как минимум что-то вроде:

Subject: test html mail
From: sender@example.com
To: recipient@example.com
Content-Type: multipart/alternative; boundary=bcaec520ea5d6918e204a8cea3b4

--bcaec520ea5d6918e204a8cea3b4
Content-Type: text/plain; charset=ISO-8859-1

*hi!*

--bcaec520ea5d6918e204a8cea3b4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<p><b>hi!</b></p>

--bcaec520ea5d6918e204a8cea3b4--

Итак, вы должны создать заголовок «Content-Type:» и добавить границы над текстовой версией, а также над и под HTML-версией.

Принимая во внимание количество необходимых рук, вы также можете передать сообщение sendmail вместо mutt.

...