Html gmail中未显示Base64编码的图像

Html gmail中未显示Base64编码的图像,html,gmail,base64,html-email,Html,Gmail,Base64,Html Email,我有一封嵌入的HTML电子邮件,其中我使用的是base64编码图像。通过chrome访问时,图像不会显示在gmail中。但当通过邮件客户端(Mac上的邮件应用程序)访问相同的邮件时,它工作正常。我已正确设置标题。有什么想法吗 我的代码 <html> <body>Hi <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAREAAAALCAYAAABYrrnHAAAAGXRFWHRTb

我有一封嵌入的HTML电子邮件,其中我使用的是
base64
编码图像。通过chrome访问时,图像不会显示在gmail中。但当通过邮件客户端(Mac上的邮件应用程序)访问相同的邮件时,它工作正常。我已正确设置标题。有什么想法吗

我的代码

<html>
    <body>Hi
        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAREAAAALCAYAAABYrrnHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABANpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjVEMjA4OTI0OTNCRkRCMTE5MTRBODU5MEQzMTUwOEM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjVGMjU1MzZBQUVGQjExRTc5NUQyQTc1MzA0RERGMTVGIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjVGMjU1MzY5QUVGQjExRTc5NUQyQTc1MzA0RERGMTVGIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIElsbHVzdHJhdG9yIENDIDIwMTcgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0idXVpZDpiNDQ5NzVjYy00YmI1LTRmNzAtODRiZi0zMGU2NjFkYmY3ZDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ZDc1MTVmZDQtMjkzZS00ZWI5LWFiMjQtOTMzYzRkZjNmOTY4Ii8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+bXRrYV9hY3RpdmF0aW9uX2NhcmQ8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnRpdGxlPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pr6AOtYAAABESURBVHja7NZBDQAwCARB2tS/m6qoKIoGvswkGNjHhQgAAACAeVbdkwHoOnVXBqD9iWSmCkDblgAwIoARAYwIMNAXYACy9wSMWMVdzAAAAABJRU5ErkJggg==" width="273" height="11" alt="">
    </body>
</html>

base64编码的图像在电子邮件中不受支持。大多数web电子邮件客户端(包括Gmail)都不支持它们,并且在Outlook中完全被阻止。Apple Mail是为数不多的支持它们的客户端之一,这就是为什么你可以在那里看到它们,但在其他地方却看不到



对于base64编码的图像,另一件需要注意的事情是电子邮件文件的大小。Gmail应用程序(iOS、Android)和Outlook(iOS)截断文件大小超过102KB的电子邮件。远程引用的图像(例如<代码> <代码>)不计入电子邮件的文件大小,<强>但Base64编码的图像做“< /强>”,并且可以快速吹出电子邮件的文件大小超过102KB限制。只需考虑其他事项。

< P>看起来Gmail也不支持直接编码图像(非Bease64):(-我在下面写了一段代码,将图像从base64转换为direct格式并通过电子邮件发送-但仍然看不到任何图像:(.要解决此问题,您需要将图像添加为带有cid的附件,并在img标记中使用该cid
-更多详细信息

函数转换(){
设base64=imageBase64.value.split('base64')[1];
设hex=[…atob(base64)].map(c=>c.charCodeAt(0).toString(16).padStart(2,0));
让img='data:image/png,%'+hex.join('%');
pic.src=img;
msg.innerText=img;
}
将您的img base64数据uri放在此处
转换
结果


Gmail不支持base64嵌入图像。但它允许显示附加图像。@lumio那么它如何在邮件客户端中正确显示?
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable