【问题标题】:Add image in email not as linked resource but should be visible in outlook在电子邮件中添加图像不是链接资源,但应该在 Outlook 中可见
【发布时间】:2015-08-26 18:11:10
【问题描述】:

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

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

但不知何故,该图像在 Microsoft Office 的 Outlook 客户端和 .mht 文件中显示为红十字。电子邮件在 Outlook Webmail 客户端和不同的浏览器中看起来很好。

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

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

【问题讨论】:

    标签: c# html email outlook


    【解决方案1】:

    使用base64编码图像并添加如下:

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

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

    【讨论】:

    • 我认为@mehta 不想嵌入图像,因为电子邮件的大小会增加。
    • @ycsun 他只是问了替代方案,没有将图像作为linkedResource rt。所以它很酷。
    【解决方案2】:

    您可以使用嵌入式图像。

    <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 :))。

    【讨论】:

    • 我认为@mehta 不想嵌入图像,因为电子邮件的大小会增加。
    • @ycsun 好吧,他说的是附件。无论如何,应该以某种方式传输图像数据。而且我不能从外部服务器收集负载。
    猜你喜欢
    • 1970-01-01
    • 2014-08-03
    • 2022-01-20
    • 2019-09-29
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 2021-04-23
    • 2017-08-25
    相关资源
    最近更新 更多