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

使用nodemailer发送邮件时遇535-5.7.8登录无效错误求助

解决Nodemailer连接Gmail时的535-5.7.8登录错误

可能的原因及对应解决方法

1. Google账户权限限制

Google已停止支持普通账户的“不太安全的应用访问”,必须使用应用专用密码:

  • 先确保你的Google账号开启了两步验证
  • 登录Google账户后台,进入「安全」板块,找到「应用专用密码」,生成一个仅用于Nodemailer的密码,替换代码中process.env.PASSWORD的值

2. 环境变量加载异常

确认process.env.PASSWORD是否正确读取:

  • 检查.env配置文件(若使用dotenv)中的PASSWORD字段,确保没有拼写错误、多余空格
  • 临时在代码中添加console.log(process.env.PASSWORD),验证输出的密码和生成的应用专用密码完全一致

3. SMTP配置兼容性问题

当前配置的secure: true+port:465是合规的,但可尝试切换为STARTTLS模式:

var transporter = nodemailer.createTransport({
  host: "smtp.gmail.com",
  secure: false,
  port: 587,
  auth: {
    user: 'kesterdaniel401@gmail.com',
    pass: process.env.PASSWORD
  },
  tls: {
    rejectUnauthorized: false
  }
});

4. 登录请求被安全拦截

登录Google账户,查看「最近的安全活动」,如果有来自服务器IP的登录被标记为可疑,点击「这是我发起的」允许该登录请求

额外验证步骤

在创建transporter后,可先调用验证方法提前排查连接问题:

transporter.verify(function(error, success) {
  if (error) {
    console.log(error);
  } else {
    console.log("SMTP服务器连接正常");
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 02:15:34