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

Posted

技术标签:

【中文标题】如何强制电子邮件程序显示使用 php 在 html 电子邮件中发送的图像?【英文标题】:How can I force email programs to show images send in html email using php? 【发布时间】:2011-02-01 10:08:58 【问题描述】:

我正在发送一封带有 phphtml 电子邮件,其中包含一张图片。一些电子邮件程序,例如 gMail,有一个“显示图像”按钮。用户必须单击它才能显示电子邮件中的图像。

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

【问题讨论】:

您可以尝试使用 ASCII 艺术创建图像... 您可以尝试将图像转换为 HTML 并改用该 html。但它有一些限制,如 html 文件大小、颜色模式等。试试这个链接pgl.yoyo.org/img2html 【参考方案1】:

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

如果您附加所有图片,那么您通常会让它们显示出来(同时夸大您的 SMTP 带宽使用量以及您的收件人的带宽使用量(这会使您不受欢迎)。

【讨论】:

【参考方案2】:

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

【讨论】:

有很多正当理由想知道电子​​邮件是否被打开。许多企业使用它来提高电子邮件通讯的质量。【参考方案3】:

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

【讨论】:

为什么这被否决了?我自己做过编写的程序也有同样的问题:)【参考方案4】:

电子邮件的变化很大,通常您会在不同的地方看到不同的结果。话虽如此:没有强制电子邮件客户端显示图像的通用方法。这就是为什么大多数电子邮件现在在顶部包含一个链接,指示如果它不能正确显示,用户应该点击它(然后将用户带到电子邮件客户端图像/javascript/everything-else-之外的标准 HTML 页面阻挡抓握)。

您特别提到了 gmail,因此值得指出的是,如果您嵌入 (CID URI) 图像,它们不会内联显示,它们将在邮件底部显示为附件。

【讨论】:

【参考方案5】:

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

Cross site request forgery

2008 年初,墨西哥一家银行的客户遭到袭击 电子邮件中的图像标签并已发送 通过他们家的路由器到 错误的网站。

【讨论】:

【参考方案6】:

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

【讨论】:

【参考方案7】:

在我工作的最后一个地方,我们发送了包含图像的电子邮件,这些图像至少在 Outlook 中会自动出现,而无需我明确单击显示图像按钮。

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

【讨论】:

以上是关于如何强制电子邮件程序显示使用 php 在 html 电子邮件中发送的图像?的主要内容,如果未能解决你的问题,请参考以下文章

Android,如何发送 HTML 电子邮件并强制 Android 通过 G-Mail 而不是其他应用程序发送它?

PHP 在 html 页面中显示 html 电子邮件

如何使用 PHP 从电子邮件数据中提取 html 编码

如何使用包含youtube视频的PHP发送电子邮件

如何在移动到下一个文本框之前强制用户输入有效的电子邮件?

使用 HTML 发送邮件 [重复]