【问题标题】:An image with base64 source won't display properly in email's body [duplicate]带有 base64 源的图像无法在电子邮件正文中正确显示 [重复]
【发布时间】:2020-04-27 21:18:25
【问题描述】:

我发送带有选项IsBodyHtml = trueHTML之类的电子邮件。

var msg = new MailMessage(fromEmail, firstEmail, email.Subject, bodyText)
{
    IsBodyHtml = true
};

bodyTextTinyMCE 编辑器解析的 HTML 看起来绝对没问题。

当我收到电子邮件时,我看到一个普通格式的 HTML 和这样的图像

<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4Ug8RXhpZgAATU0AKgAAAAgABwALAAIAAAAmAAAIbgESAAMAAAABAAEAAAExAAIAAAAmAAAIlAEyAAIAAAAUAAAIuodpAAQAAAABAAAIzoglAAQAAAABAAARJuocAAcAAAgMAAAAYgAAIaYc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ..... and etc ...." >

所以看起来具有 base64 源的图像根本没有正确编码。

请帮忙解决一下。

谢谢!

更新 #1 在 Gmail 中看起来像这样

在数据库中它看起来像

【问题讨论】:

  • 显示base64图像没有问题,这是“base64图像”本身不完整。试试我刚刚创建的这个 base64 编码的图像元素 (pastebin)。
  • @John_ReinstateMonica 这只是我的问题中的一个例子。我的意思是img 被剪掉了。我从数据库中保存了 TinyMCE 的解析 html。并且图像非常好,可以看到它。
  • 你是什么意思削减?很难想象你的意思。你的意思是它在渲染时丢失了一部分?
  • @John_ReinstateMonica 我的意思是在我的谷歌电子邮件中看到的不是普通图像,而是img 标签的原始数据。但图像没问题,因为在编辑模式下 TinyMCE 加载正常。
  • @Developer 邮件客户端是否能够显示来自 base64 的图像?

标签: c# image base64 mailmessage


【解决方案1】:

https://www.google.com/search?q=does+gmail+display+base64&rlz=1C1GCEU_ruRU819RU819&oq=does+gmail+display+base64&aqs=chrome..69i57j33.6352j0j7&sourceid=chrome&ie=UTF-8

2 个答案。电子邮件中不太支持 base64 编码的图像。大多数网络电子邮件客户端(包括 Gmail)不支持它们,并且在 Outlook 中完全被阻止。 Apple Mail 是少数支持它们的客户端之一,这就是为什么你可以在那里看到它们但在其他地方看不到它们的原因。2019 年 11 月 18 日

【讨论】:

    猜你喜欢
    • 2019-12-14
    • 2018-10-18
    • 2013-09-26
    • 1970-01-01
    • 2014-03-09
    • 2018-11-23
    • 2020-04-16
    • 2014-02-16
    • 1970-01-01
    相关资源
    最近更新 更多