Мы мигрируем с одного 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]
.