【问题标题】:Base 64 encoded image in email电子邮件中的 Base 64 编码图像
【发布时间】:2020-10-01 21:24:20
【问题描述】:

我正在尝试以编程方式发送嵌入图像的电子邮件,以消除对访问我们网络的依赖,或在外部托管文件(企业安全繁文缛节等)

我可以通过将图像编码为 base 64 来做到这一点。但是,我遇到了特定客户端的问题。最重要的是,在 Outlook 中,图像显示为断开的链接。 Windows (10) 邮件中也发生了同样的事情。图像在其他几个客户端(Android 的 Blue Mail、非库存 iPhone 客户端和我的 ISP 的基于 Web 的客户端)中呈现。

另一方面,Outlook 似乎正在将 base64 中的“+”符号替换为 +,尽管我不确定这是否相关。我可以将 Outlook 电子邮件的来源(即使使用 + )保存为 html 文件并在浏览器中查看。

我在这里尝试使用不同的字符进行编码:https://cryptii.com/pipes/hex-to-base64

...避免出现“+”号。其他变体都不起作用,事实上,它们都破坏了其他客户端中的图像。

有什么想法吗?

【问题讨论】:

  • 如果你得到的答案不能完全解决这个问题,请edit你的问题包括(a)一个有问题的消息的样本(最好精简到基本要素)和 (b) 您正在使用的代码。

标签: email encoding outlook base64


【解决方案1】:

Outlook(或者更确切地说是在 Outlook 中呈现 HTML 消息的 Word)不支持嵌入的 base64 编码图像。您需要添加图像附件,设置它们的Content-id MIME 标头,并通过cid 属性(<img src="cid:xyz">)引用类似的图像

【讨论】:

    猜你喜欢
    • 2013-09-21
    • 1970-01-01
    • 2019-02-16
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多