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

IMAP提取的邮箱PDF附件通过Node.js发送后无法打开如何解决

问题原因

附件无法打开、格式识别错误主要是两个核心问题:

  1. 构造附件时未明确指定MIME类型,导致邮件客户端错误将PDF识别为DOC格式
  2. 未正确声明附件内容的编码格式,传输过程中PDF的二进制Buffer被错误转码导致文件损坏

解决方案

按以下步骤修改邮件构造逻辑即可:

  • 附件配置项中补充contentType属性,直接复用IMAP返回的application/pdf值即可,强制指定文件类型为PDF
  • 若你提取的cntnt是base64编码的字符串,补充encoding: 'base64'属性;若cntnt是原始Buffer类型可忽略该配置
  • 确认fname变量的值确实携带.pdf后缀,避免因后缀缺失导致客户端识别格式错误

修正后的代码示例

var mail = {
    from: "sender@gmail.com",
    to: "reciever@gmail.com",
    subject: "Sending Email using Node.js",
    text: "That was easy!",
    attachments: [
        {
            filename: fname, 
            content: cntnt,
            contentType: 'application/pdf',
            // 如果cntnt是base64字符串则取消下一行注释
            // encoding: 'base64'
       }
   ]
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 13:00:00