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]

相关内容