在电子邮件中添加图像不是作为链接资源,但应该在 Outlook 中可见

Add image in email not as linked resource but should be visible in outlook

我想在电子邮件中添加图片。我尝试了几种方法,最终的解决方案是将图像添加为 linkedResource,但它会增加电子邮件的大小,我不希望这样,因为电子邮件已经有几个 attachments.I 我正在使用 xslt 文件来获取 html 来自 XML 输入的电子邮件正文。我添加的图片如下

<img src="http://placehold.it/350x150">

但不知何故,该图像在 Microsoft Office 的 Outlook 客户端和 .mht 中显示为红叉 file.Emails 在 Outlook Webmail 客户端和不同的浏览器中看起来很好。

如果我在 Microsoft Office 的 outlook 客户端的浏览器中打开邮件后在浏览器中看到网络选项卡,则可以看到 url 'http://placehold.it/350x150' 的请求,但接收到的字节为零和响应为空白。

有什么方法可以不使用 linkedResource 将图片添加到电子邮件中吗? 你的帮助对我来说真的很棒。

您可以使用嵌入图像。

<img alt="My Image" src="data:image/jpeg;base64,/9j/4S/+RXhpZgAATU0AKgAAAAgACAESAAMAENkDZ5u8/61a+X...more encoding" />

更多信息在这里:https://sendgrid.com/blog/embedding-images-emails-facts/

PS。不久前,我们遇到了在不同浏览器和电子邮件客户端中呈现电子邮件的问题。并且按照描述存储图像是最好的解决方案(对于图像,ofc :))。

使用 base64 对图像进行编码并添加如下内容:

<img src="data:image/JPEG;base64,{encoded string}">

其中 {encoded string} 部分是图像数据的 base64 编码。根据图像类型,JPEG 可以是 gif 或其他格式。