带有 base64 源的图像将无法在电子邮件正文中正确显示

An image with base64 source won't display properly in email's body

我发送像 HTML 这样的电子邮件,选项 IsBodyHtml = true.

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 中它看起来像这样

在数据库中它看起来像

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 编码图像。它们在大多数 Web 电子邮件客户端(包括 Gmail)中不受支持,并且在 Outlook 中被完全阻止。 Apple Mail 是为数不多的支持它们的客户端之一,这就是为什么您可以在那里看到它们但看不到它们的原因 elsewhere.Nov 18, 2019