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您添加到標頭末尾的 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]

相關內容