如何强制电子邮件程序显示使用PHP在html电子邮件中发送的图像?

时间:2010-03-26 23:58:04

标签: php html image email

我正在发送一封带有php的html电子邮件,其中包含一张图片。某些电子邮件程序(如gMail)具有“显示图像”按钮。用户必须单击该按钮才能显示电子邮件中的图像。

有什么方法可以强制电子邮件程序显示在php生成的html电子邮件中发送的图像?

7 个答案:

答案 0 :(得分:14)

根据经验,电子邮件客户端配置为默认显示附加图像(例如具有cid:URI方案的图像),而不加载远程图像(可包括跟踪信息)。

如果您附加了所有图像,那么您通常会将它们显示出来(同时将您的SMTP带宽与您的收件人一起使用(这会让您不受欢迎)。)

答案 1 :(得分:4)

我不敢。电子邮件程序阻止图像的主要原因是因为图像通常用于向发送电子邮件已被打开的电子邮件的任何人“回报”。这是垃圾邮件发送者常用的策略。此外,恶意代码通常附加到图像上,下载这些图像是这些代码的执行方式。电子邮件程序阻止图像的另一个原因。

答案 2 :(得分:2)

不,你不能强迫自己不写的程序做任何事情。

答案 3 :(得分:2)

电子邮件变化很大,一般来说,你会在不同的地方看到不同的结果。话虽如此:没有通用的方法强制电子邮件客户端显示图像;这就是为什么大多数电子邮件现在包含一个顶部的链接,表明如果它没有正确显示,用户应该点击它(然后将用户带到电子邮件客户端的图像/ javascript /所有其他的标准HTML页面 - 其他 - 阻止掌握)。

你特别提到gmail,所以值得指出的是,如果你嵌入(CID URI)他们不会内联显示的图像,它们将在信息的底部显示为附件。

答案 4 :(得分:1)

怀疑它,如果图像的'src'打开了跨站点脚本攻击,那将是一个安全问题。

Cross site request forgery

  

墨西哥一家银行的客户在2008年初受到攻击   电子邮件中的图片标记已发送   通过他们的家用路由器来   错误的网站。

答案 5 :(得分:0)

你可以,但不幸的是Trident,这是IE渲染引擎不支持它(惊喜,惊喜),但技术上可以在html中包含图像 - 见http://en.wikipedia.org/wiki/Data_URI_scheme

答案 6 :(得分:0)

我工作的最后一个地方,我们发送的电子邮件中包含自动出现的图片,至少在Outlook中,我不必明确点击“显示图片”按钮。

当我询问时,另一位开发人员解释说他们只是将已经发送的电子邮件中的图像的编码块复制到电子邮件正文中。我认为这可能是他们偶然发现的一种奇怪的解决方法。我不知道这是否比附件增加了更多的重量,但我可以看到电子邮件阅读器如何看到附件,然后询问用户,而不是在身体中读取它并只显示它......