Вы не можете это сделать. Mutt не предназначался для отправки сообщений программно, он должен быть интерактивным почтовым клиентом; флаги командной строки для отправки сообщений присутствуют только в качестве младшего надстройки, так много чего невозможно.
Команда my_hdr
не должна использоваться для установки заголовков MIME, таких как Content-Type
. Это действительно не работает, даже если вы не включаете вложение. Сообщение от вашей второй команды будет иметь два заголовка Content-Type
; первый, который генерирует mutt, который сообщает, что сообщение text/plain
, и второе, которое вы указали. Просто случается, что клиент, который вы используете для проверки сообщения, смотрит на ваш заголовок. Для меня mutt отобразит это сообщение как HTML, но thunderbird отобразит документ без рендера.
При попытке комбинировать отправку HTML и вложения происходит то же самое. Есть несколько заголовков Content-Type
. Первый из слова mutt говорит, что сообщение multipart/mixed
, второе сообщение, что это text/html
. В моем тестировании mutt снова будет уважать второй заголовок и поэтому попытаться отобразить все сообщение, включая вложение, как HTML. Thunderbird снова награждает первый заголовок Content-Type
, и поэтому находит две части: HTML и вложение, но в HTML-части нет заголовка Content-Type
, который указывает, что он является HTML, поэтому он не отображается как таковой, а вместо него источник показан.
Вы могли бы получить несколько близко, посылая как HTML и PDF в качестве вложений, с пустым телом:
mutt -s "Subject" -a mybody.html -a file.pdf -- [email protected] < /dev/null
Но вы, вероятно, будет лучше использовать инструмент, который был фактически разработан, чтобы послать больше сложные сообщения программно.
Только для записи решение @ MoabTek работало для меня. Я использую mutt 1.5.20. – gacanepa