如何从 Linux 命令行发送邮件以便收件人能够看到其 HTML 格式的内容?

如何从 Linux 命令行发送邮件以便收件人能够看到其 HTML 格式的内容?

我尝试过用类似如下的方式通过电子邮件发送普通网页:

mail -s "Test Email" [email protected] < webpage.htm

但是,收件人看到的是电子邮件中的原始 HTML 标签,而看不到我精心设置的格式。我使用的是 RedHat Linux。

答案1

您需要告诉 MUA 内容包含 HTML。传统上,这是使用 MIME 完成的。尝试将以下标题行添加到您的邮件中:

Mime-Version: 1.0
Content-Type: text/html

您可能还需要添加 Content-Transfer-Encoding 标头。维基百科关于 MIME 的页面有更多详细信息,包括相关 RFC 的链接。

更新:当通过管道传输时,此方法可以正常工作sendmail -t

From: [email protected]
To: [email protected]
Subject: MIME Test
Mime-Version: 1.0
Content-Type: text/html

<html>
<body>
This is a test.
</body>
</html>

答案2

envio html 解决方案

mail -a 'MIME-Version: 1.0' -a 'Content-Type: text/html; charset=iso-8859-1' -a 'X-AUTOR: Ing. Gareca' -s 'MTA STATUS: mail queue' [email protected]  -- -f [email protected]  < /tmp/eximrep.html

答案3

据我所知这是不可能的mail。但是这里是有关 sendmail 的简短指南。

答案4

电子邮件,就像网页一样,其内容类型在标题中指定。'mail'似乎早于此并且不发送任何内容,因此所有MUA都恢复为将消息显示为文本/纯文本。

如果您想手动指定所有标题,请调用并将所有内容传递给它。sendmail [email protected]

<subjective>但请记住,虽然有些人(包括我)不喜欢 HTML 电子邮件,但接收 HTML 电子邮件没有替代文本/纯文本部分真的很烦人。因此,除非您绝对确定收件人可以正常查看 HTML 消息,否则最好发送带有纯文本部分的多部分消息作为替代。</subjective>

相关内容