Javascript Gmail将嵌入的图像显示为base64字符串
我正在使用pug、电子邮件模板和NodeEmailer ses传输,通过AWS ses从node.js发送电子邮件。电子邮件预览看起来不错,但我在Gmail web客户端收到的测试电子邮件完全搞乱了,因为图像没有从base64字符串转换回来,并且显示为html: 这似乎是Gmail的问题,只是因为在Mac Mail客户端它看起来很好。有时,电子邮件显示正确,但没有图像 我曾尝试使用存储在S3上的链接图像,但Gmail去掉了src,图像并没有显示出来 我收到的其他电子邮件(如Strava的通知)不会发生这种情况 我可以显示的唯一方法是使用CID:Javascript Gmail将嵌入的图像显示为base64字符串,javascript,base64,Javascript,Base64,我正在使用pug、电子邮件模板和NodeEmailer ses传输,通过AWS ses从node.js发送电子邮件。电子邮件预览看起来不错,但我在Gmail web客户端收到的测试电子邮件完全搞乱了,因为图像没有从base64字符串转换回来,并且显示为html: 这似乎是Gmail的问题,只是因为在Mac Mail客户端它看起来很好。有时,电子邮件显示正确,但没有图像 我曾尝试使用存储在S3上的链接图像,但Gmail去掉了src,图像并没有显示出来 我收到的其他电子邮件(如Strava的通知)
const email = new Email({
message: {
from: config.EMAIL_FROM, // sender address
attachments: [
{
filename: 'logo.png',
path: `${resources}/logo.png`,
cid: 'logo',
},
],
},
send: true,
transport,
juice: true,
preview:false,
juiceResources: {
preserveImportant: true,
webResources: {
images: false,
relativeTo: `${config.TEMPLATES_DIR}/assets`,
},
},
});
但是,我不喜欢这个解决方案,因为图像在电子邮件中显示为附件
任何关于如何正确嵌入图像以便在任何地方都可以访问的建议。我看到过很多类似的讨论,最近的一些讨论表明Gmail现在支持嵌入式图像