我們正在從一台 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
您添加到標頭末尾的 hack 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]
。