HTML-письмо не работает в Unix?

HTML-письмо не работает в Unix?

Мы мигрируем с одного Unix-сервера на другой.

Старый сервер
$ uname -a
Linux <redacted> 2.6.9-89.31.1.ELsmp #1 SMP Mon Oct 4 21:53:22 EDT 2010 i686 i686 i386 GNU/Linux
Новый сервер
$ uname -a
Linux <redacted> 2.6.32-504.30.3.el6.x86_64 #1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

При использовании приведенной ниже команды письма отправлялись в виде HTML-контента на старом сервере, но та же команда на новом сервере отправляет только обычные письма.

  • Какие у меня есть варианты?
  • что я могу сделать, чтобы это заработало?
Моя команда
$ echo "<b>HTML Message <i>goes</i> here</b>" | mail -s "$(echo -e "This is the subject\nContent-Type: text/html")" [email protected] [email protected]

решение1

Проблема, вероятно, в том, что ваша новая /bin/mailпрограмма добавляет в письмо свой собственный заголовок Mime, переопределяя ваш Content-Type: text/htmlхак, добавленный в конец Subject:заголовка.

Простое решение — обойти mailи просто перейти сразу к sendmail(даже если используется postfix). Замените вашу команду на:

sendmail -t <<!
From: [email protected]
To: [email protected]
Subject: This is the subject
MIME-Version: 1.0
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<b>HTML Message <i>goes</i> here</b>
!

Если ваш sendmail не принимает сообщение -t, замените эту опцию на адрес, на который вы отправляете почту, например [email protected].

Связанный контент