我使用nodemailer发送包含嵌入图片的电子邮件,但图片并未显示在某些电子邮件客户端应用(例如雷鸟)的邮件正文中。
由于Content-Transfer-Encoding
设置为quoted-printable
,我怀疑发生了这种情况。因此,它会在src
元素的img
属性中添加3D字符(对 = 字符进行编码):
<img src=3D"cid:61767c3c-7f99-4f0f-a15b-b5edc0f0c2c4@emailaddress.com">
如何在nodemailer中永久关闭quoted-printable
编码?我已经尝试在消息选项中设置textEncoding: 'base64'
,但似乎节点制作者忽略了它。
let message = {
from: {
name: 'Someone',
address: 'someone@emailaddress.com'
},
to: {
name: sender,
address: emailTo.toLowerCase()
},
subject: 'Purchased Tickets',
html: 'Some text<br><img src="cid:61767c3c-7f99-4f0f-a15b-b5edc0f0c2c4@emailaddress.com"/><br>Some more text<br><img src="cid:1a419f12-1205-49e5-b0f7-fd407c0bfa27@emailaddress.com"/><br>',
attachments: ticketList.map((t, i) => ({
filename: `ticket${i + 1}.png`,
content: t.qrCode,
cid: `${t.ticketNumber}@emailaddress.com`
})),
encoding: 'base64',
textEncoding: 'base64'
}
transporter.sendMail(message, (err, info) => {
if (err) {
console.log(err)
} else {
console.log(info)
}
})
答案 0 :(得分:0)
我的一些电子邮件中存在同样的问题,但它似乎与Content-Transfert-Encoding无关。 实际上,图像显示在我的一些邮件上
Content-Transfer-Encoding: quoted-printable
但不是全部...