我正在尝试发送包含嵌入式gif图像的多部分/相关html电子邮件。该电子邮件是使用Oracle PL / SQL生成的。我的尝试失败了,图片显示为红色X(在Outlook 2007和yahoo邮件中)
我已经发送HTML电子邮件已有一段时间了,但是我现在的要求是在电子邮件中使用多个gif图像。我可以将它们存储在我们的一台Web服务器上并仅链接到它们,但是许多用户的电子邮件客户端不会自动显示它们,因此需要更改设置或手动为每封电子邮件下载它们。
因此,我的想法是嵌入图像。我的问题是:
- 我在这里做错了什么?
- 嵌入方法正确吗?
- 如果我需要使用越来越多的图像,还有其他选择吗?附件将不起作用,因为图像通常是徽标和图标,在邮件的上下文范围内是没有意义的。另外,电子邮件的某些元素是到在线系统的链接,因此生成静态PDF和附加将不起作用(据我所知)。
片段:
MIME-Version: 1.0
To: me@gmail.com
BCC: me@yahoo.com
From: email@yahoo.com
Subject: Test
Reply-To: email@yahoo.com
Content-Type: multipart/related; boundary="a1b2c3d4e3f2g1"
--a1b2c3d4e3f2g1
content-type: text/html;
<html>
<head><title>My title</title></head>
<body>
<div style="font-size:11pt;font-family:Calibri;">
<p><IMG SRC="cid:my_logo" alt="Logo"></p>
... more html here ...
</div></body></html>
--a1b2c3d4e3f2g1
Content-Type: image/gif;
Content-ID:<my_logo>
Content-Transfer-Encoding: base64
Content-Disposition: inline
[base64 image data here]
--a1b2c3d4e3f2g1--
非常感谢。
顺便说一句:是的,我已经验证了base64数据是正确的,因为我可以将图像嵌入html本身(使用相同的算法创建标头数据)并在Firefox / IE中查看图像。
我还要注意,这不是针对垃圾邮件的,电子邮件是每天发送给特定客户的。内容是数据驱动的,而不是广告。
<img src="URL" />
为我工作,但这是我在异地托管的图像。那对你不起作用吗?