将图像嵌入html电子邮件中

丁骨

我正在尝试发送包含嵌入式gif图像的多部分/相关html电子邮件。该电子邮件是使用Oracle PL / SQL生成的。我的尝试失败了,图片显示为红色X(在Outlook 2007和yahoo邮件中)

我已经发送HTML电子邮件已有一段时间了,但是我现在的要求是在电子邮件中使用多个gif图像。我可以将它们存储在我们的一台Web服务器上并只是链接到它们,但是许多用户的电子邮件客户端不会自动显示它们,因此需要更改设置或手动为每封电子邮件下载它们。

因此,我的想法是嵌入图像。我的问题是:

  1. 我在这里做错了什么?
  2. 嵌入方法正确吗?
  3. 如果我需要使用越来越多的图像,还有其他选择吗?附件将不起作用,因为图像通常是徽标和图标,在邮件的上下文范围内是没有意义的。另外,电子邮件的某些元素是到在线系统的链接,因此生成静态PDF和附加将不起作用(无论如何,据我所知)。

片段:

MIME-Version: 1.0
To: [email protected]
BCC: [email protected]
From: [email protected]
Subject: Test
Reply-To: [email protected]
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="data:image/jpg;base64,{{base64-data-string here}}" />

并为了使该帖子对其他人有用:如果您没有base64数据字符串,从以下图像文件轻松创建一个:http : //www.motobit.com/util/base64-decoder-encoder.asp

电子邮件源代码看起来像这样,但我真的无法告诉您该边界对象是什么:

 To: [email protected]
 Subject: ...
 Content-Type: multipart/related;
 boundary="------------090303020209010600070908"

This is a multi-part message in MIME format.
--------------090303020209010600070908
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <img src="cid:part1.06090408.01060107" alt="">
  </body>
</html>

--------------090303020209010600070908
Content-Type: image/png;
 name="moz-screenshot.png"
Content-Transfer-Encoding: base64
Content-ID: <part1.06090408.01060107>
Content-Disposition: inline;
 filename="moz-screenshot.png"

[base64 image data here]

--------------090303020209010600070908--

//编辑:哦,我只是意识到,如果您从我的帖子中插入第一个代码片段来用thunderbird编写电子邮件,那么thunderbird会自动将html代码更改为与我的帖子中的第二个代码几乎相同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将图像嵌入电子邮件正文nodemailer nodejs

使用Java Mail将图像嵌入到HTML电子邮件中

如何使用Java邮件发送html电子邮件时嵌入多个图像

如何将SVG嵌入到电子邮件的HTML中,以便在大多数/所有电子邮件浏览器中可见?

Python / Yagmail-如何将本地图像嵌入到电子邮件中?

将图像嵌入电子邮件并通过Powershell发送

如何在邮件中附加图像文件和嵌入到html电子邮件正文中的相同图像?

如何使用Laravel 5.8在电子邮件中嵌入嵌入式图像

如何将文本放在HTML电子邮件代码中的图像上?

从Unix Shell在电子邮件中嵌入动态HTML表

使用PHP将图像嵌入电子邮件中

如何使用VBA将图像嵌入到Outlook电子邮件中

如何将工作表中的图像嵌入到Outlook电子邮件中

无法使用MailKit将图像嵌入电子邮件中

将徽标嵌入电子邮件

.NET如何将图像附加到电子邮件的html模板中

将RSS feed嵌入HTML电子邮件中?

将图像比例限制为C#构造电子邮件中的嵌入式附件

以html格式从电子邮件中读取嵌入式嵌入式图像

将图像以HTML格式保存在我的计算机上以嵌入电子邮件吗?

Excel VBA将单个图像嵌入到电子邮件联系人列表中

Thunderbird 不显示电子邮件中的嵌入图像

ASP.NET 在 HTML 中嵌入图像用于电子邮件

在电子邮件中嵌入 html 表

如何将链接的图像嵌入到 python 电子邮件中

HTML 电子邮件 - 电子邮件中的图像仅在某些设备上显示

如何使用 PHP 在电子邮件中嵌入 HTML 代码

嵌入在电子邮件 HTML 模板中的图像 - Flask-mail ValueError:要解压的值太多(预期为 2)

PowerShell 中电子邮件的嵌入式图像