【发布时间】:2013-03-11 22:50:51
【问题描述】:
我正在开发一个系统,该系统将电子邮件发送给可能从公共访问点或“封闭”访问点(看不到互联网)读取电子邮件的收件人。我以 HTML 格式发送的电子邮件可能嵌入了图像。这些图像是预定义的,并且存在于已知位置。自然,从(公共)互联网读取的电子邮件无法加载托管在(私人)封闭网络中的图像;从封闭网络读取的电子邮件无法从互联网加载图像。
目前,在电子邮件生成过程中,我们正在根据收件人的电子邮件地址确定是否应该将 img src 设置为公共路径或私有路径。 我很想找到一种本机 HTML 技术,它可以告诉电子邮件客户端“尝试这个图像的公共路径,如果它不加载故障转移到这个私有路径”。我的理解是几乎总是希望电子邮件客户端去除 JavaScript,因此 ECMA 不会成为该解决方案的一部分。很遗憾。
尝试 1
我尝试将src设置为图像的公共路径,并将background-image样式属性设置为图像的私有路径:
<img src="path/to/public/my_image.jpg" style="background-image:url('path/to/private/my_image.jpg');" ..etc.. />
这在浏览器中效果很好(尤其是在设置了高度/宽度属性的情况下),但 Outlook (2007) 不支持background-image。所以,没有快乐。
尝试 2
我尝试使用background 图像创建table:
<table background="path/to/private/my_image.jpg">
<tr>
<td>
<img src="path/to/public/my_image.jpg" />
</td>
</tr>
</table>
Outlook 也没有这样做。
尝试 3
本着“工作起来可能很疯狂”的精神,我尝试为图像提供两个src 属性:
<img src="path/to/public/my_image.jpg" src="path/to/private/my_image.jpg" ..etc.. />
这在任何地方都不起作用;只有第一个 src 会习惯于尝试加载图像。
【问题讨论】:
-
不确定这是否可行。显然都需要内联样式。在 TD 上设置相对的宽度、高度和位置。在 TD 内添加两个具有绝对位置、正确宽度和高度以及不同 z-index 和 top:0 left:0 值的图像。我从来没有尝试过这个,所以它可能是一大堆失败,但你可以试一试。