我想将图片添加到电子邮件中。我尝试了几种方法我最终的解决方案是添加图像作为linkedResource但它会增加电子邮件的大小,我不希望它,因为电子邮件已经有几个附件。我正在使用xslt文件来获取电子邮件的HTML主体来自XML输入。我正在添加如下图像
<img src="http://placehold.it/350x150">
但不知何故,图像在微软办公室的Outlook客户端和.mht文件中显示为红叉。电子邮件在Outlook webmail客户端和不同浏览器中看起来很好。
如果我在浏览器中从Outlook客户端在Microsoft Office中打开邮件后看到浏览器中的网络选项卡,则可以看到url'http://placehold.it/350x150'的请求,但收到的字节为零,响应为空。
有没有办法在不使用linkedResource的情况下将图片添加到电子邮件中? 你的帮助对我来说真的很棒。
答案 0 :(得分:1)
使用base64对图像进行编码并添加如下:
<img src="data:image/JPEG;base64,{encoded string}">
{encoded string}部分是图像数据的base64编码。根据图像类型,JPEG可以是gif或其他任何东西。
答案 1 :(得分:0)
您可以使用嵌入式图像。
<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:))。