You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Nodemailer会损坏我的邮件HTML内容?

问题原因与解决方法

原因解析

你看到的=3D和行尾=是Quoted-Printable编码的正常产物,属于邮件MIME传输标准的一部分:

  • =3D是=字符的编码结果(因为=在Quoted-Printable规则里是转义标记,所以自身需要被编码);
  • 行尾的=是换行折叠符,用于拆分过长的邮件行,解码后会自动还原成完整内容。
  • 这种编码是为了保证邮件在不同系统间正确传输,Gmail显示的是邮件原始编码内容,但实际渲染时会自动解码,不会影响图片正常显示。

解决方法(可选)

如果希望邮件原始内容不使用Quoted-Printable编码,可以在Nodemailer的邮件配置中禁用该编码,强制使用Base64编码:

const mailOptions = {
  from: '你的发件邮箱',
  to: '收件邮箱',
  subject: '邮件主题',
  html: `
    <html>
        <div>
            <div>The Archimandrite<br /><img src="cid:The Archimandrite" /></div>
        </div>
    </html>
  `,
  attachments: [
    {
      filename: '你的图片文件名',
      path: '图片本地路径或URL',
      cid: 'The Archimandrite'
    }
  ],
  // 禁用Quoted-Printable编码
  quotedPrintable: false
};

注意

无需特意修改配置,所有主流邮件客户端都会自动解码Quoted-Printable编码的内容,完全不影响邮件正常展示。只有当你需要查看原始内容时不想看到编码字符,才需要调整上述设置。

内容的提问来源于stack exchange,提问作者nullromo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:15:58