You need to enable JavaScript to run this app. 使用Nodemailer不通过Gmail SMTP配置Bell.net邮箱发信时报535认证失败
优惠活动
大模型
产品
解决方案
定价
更多

使用Nodemailer不通过Gmail SMTP配置Bell.net邮箱发信时报535认证失败

针对bell.net SMTP 535认证失败的实际解决步骤
  • 对齐认证账号与发件人地址
    Sympatico(现bell.net)的SMTP服务器严格校验认证身份与发件人身份的一致性,当前代码中auth.user配置的账号、sendMail里的from字段、实际开通SMTP权限的邮箱地址必须完全相同,不能出现同域名下不同前缀的账号混用——一旦两者不一致,服务器会直接返回535认证失败,不会给出更具体的提示。需要把auth配置里的账号值改成和from字段完全一致的my1email@bell.net,不要用占位的xxx@bell.net。
  • 替换端口配置适配客户端认证规则
    你当前使用的25端口主要用于服务器间的邮件转发,该端口对第三方邮件客户端的认证支持限制极多,很多场景下会直接拒绝非加密的PLAIN认证请求。需要将端口切换为服务商支持的587端口,同时补充TLS强制配置:
    let transporter = nodemailer.createTransport({
      host: "smtphm.sympatico.ca",
      port: 587,
      secure: false, // 587端口对应STARTTLS加密,不使用SSL直连,因此保持false
      requireTLS: true, // 强制在认证前完成TLS加密协商,避免明文凭证被拦截/判定无效
      auth: {
        user: "my1email@bell.net",
        pass: "对应账号的有效凭证"
      },
    });
    
  • 校验认证密码的有效性
    如果该bell.net账号开启了二次验证,直接使用网页端的登录密码无法通过SMTP认证,必须生成邮箱对应的应用专用密码,用这个专用密码替换auth中的pass值。同时要排查硬编码密码时的转义问题:如果密码包含@、#、$等特殊字符,要确认字符串没有被JS转义截断,避免因为凭证不完整触发认证失败。
  • 修复代码的异步执行逻辑
    当前代码在调用异步的main()发信函数后,没有等待发信流程完成就直接执行了res.redirect("/")、关闭数据库连接,偶尔会因为事件循环中断导致SMTP认证流程没走完就报连接异常。需要把发信逻辑放到async的回调中,通过await等所有发信、错误捕获流程跑完之后,再关闭数据库连接、返回页面重定向,避免假报错。参考调整后的流程片段:
    conn.query(sendEmail, async function (err, rows) {
      if (err) return console.log(err);
      const emails = rows.map(item => item.EMAIL);
      try {
        // 初始化transporter、执行sendMail的逻辑移到此处,加await等待完成
        const sendBatch = await transporter.sendMail({
          from: "my1email@bell.net",
          to: "myemail@gmail.com",
          bcc: emails,
          subject: emailSubject,
          text: emailMessage
        });
        console.log("Message sent: %s", sendBatch.messageId);
      } catch (err) {
        console.error("发信流程错误", err);
      } finally {
        conn.close(() => {
          console.log("closed the function app.get(/sendEmailBatch)");
          res.redirect("/");
        })
      }
    });
    
  • 本地连通性前置排查
    可以手动测试本地网络到smtphm.sympatico.ca:587的出站连通性,排除本地防火墙、网络运营商拦截587端口出站流量的问题——这类网络拦截也会导致SMTP连接中断,最终被nodemailer捕获为535类的认证异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 19:15:03