说服电子邮件客户端不要内联显示html附件?

时间:2012-05-10 23:21:42

标签: php phpmailer

问题:我发送了一封包含复杂html附件的电子邮件(使用phpmailer和sendmail)。我不希望电子邮件客户端尝试显示附件,因为它太复杂了,无法在邮件阅读器中查看。

据我所知,执行此操作的方法是将content-Disposition设置为attachment。 phpmailer中的默认设置是将其设置为attachment。但是,Thunderbird(我迄今为止测试的唯一客户端)确实试图显示html。如果我在Thunderbird中查看标题,我看不到Content-Disposition,但如果我保存邮件,我可以看到:

--b1_420d367a26870bbc3bae73fb1de31f49
Content-Type: application/octet-stream; name="chart.html"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="chart.html"

Thunderbird已经为附件提供了正确的名称,因此它可能会理解Content-Disposition。我可以用phpmailer来阻止客户端显示html附件,还是客户可以做他们想做的事情?

发送压缩文件实际上并不是一种选择 - 用户可能不够复杂,无法知道如何处理它。

2 个答案:

答案 0 :(得分:1)

  

David:Bienvenu 2006-04-07 12:49:31 PDT   由于历史原因,这是故意完成的,并且自Netscape 2.0和Mozilla 1.0以来......我们显示内联我们知道如何显示的附件,除非您关闭视图附件内联。也许我们可以添加一个pref来尊重所有附件类型的内容处理。

https://bugzilla.mozilla.org/show_bug.cgi?id=147461

至少自2002年以来,这已经是一种已知的行为。至于强制它不显示为内联,我不确定是否可以完成它,除非用户设置错误报告中提到的pref。< / p>

答案 1 :(得分:0)

如何将其另存为pdf?

您可以查看“Convert HTML + CSS to PDF with PHP?