HTML电子邮件隐藏破碎的图像图标

时间:2017-01-31 06:11:20

标签: html css email

在我的大多数电子邮件中,包含的图片可能不存在。在这种情况下,损坏的图像图标会与我的alt文本一起显示。

问题说明: 在发送HTML电子邮件和<img>标记时,如果此图片可能不在那里(404)。由于图像URL是动态的,我无法在发送电子邮件之前验证图像是否存在。因此,它会显示已损坏的图片图标。我想摆脱这个图标。

JSFiddle

代码段:

<img alt="NA" src="http://www.somerandomdomain.com/error.png" width="120"  >

我需要一个与所有主要电子邮件客户端兼容的解决方案。

  • 尝试了onerror处理程序,但它在电子邮件客户端中无效。
  • 还尝试了text-indent: -9999px;,它可以在Outlook中运行但不是 在Gmail中。
  • 当负缩进更改为正Outlook时 滚动到右边这是一团糟。

possible duplicate中提到的解决方案适用于网络。但我的问题显然是关于 HTML电子邮件,其中JS和对象不像提供的解决方案那样工作。

1 个答案:

答案 0 :(得分:0)

生成电子邮件时,请检查该图像是否存在(PHP中的示例)

$url = 'http://www.somerandomdomain.com/error.png';
$headers = @get_headers($url);

if (strpos($headers[0],'200') !== false) {
    echo "<img alt='NA' src='{$url}' width='120'/>";
}