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

谷歌关闭低安全应用后Nodemailer使用Gmail报535错误如何解决

Gmail低安全应用权限下线后Nodemailer发信适配方案

谷歌2022年5月30日正式关闭低安全应用访问权限后,直接使用Gmail账号原密码通过Nodemailer发信会固定抛出535-5.7.8 Username and Password not accepted报错,目前官方文档暂未更新对应适配说明,以下是两种经过生产环境验证的可行方案,不需要更换邮件服务商。

方案1:个人账号使用应用专用密码(最简便)

这个方案不需要调整原有代码逻辑,只需要替换认证密码即可:

  • 前置条件:给发信用的Gmail账号开启两步验证,未开启两步验证的账号无法生成应用专用密码
  • 进入Gmail账号安全设置页,找到「应用专用密码」入口,选择应用类型为「其他」,自定义名称填Nodemailer后点击生成
  • 复制弹窗显示的16位密码,注意不要保留密码中间的显示空格,直接拼接为连续字符串
  • 替换Nodemailer配置中auth字段的pass值即可,其余配置保持原有Gmail预设不变,配置参考:
const transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: '你的完整Gmail地址@gmail.com',
    pass: '你复制的16位应用专用密码'
  }
});
  • 配置完成后直接调用sendMail接口测试即可,不需要额外调整端口、SMTP地址参数。

方案2:Google Workspace企业账号使用中继SMTP

如果是企业付费Workspace账号,需要更高发信限额、不想给单个账号开两步验证,可以用这个方案:

  • 使用Workspace超级管理员进入后台,在Gmail路由设置中开启SMTP中继服务
  • 给需要发信的账号配置中继权限,设置允许你服务的出口IP访问中继接口
  • Nodemailer侧调整SMTP配置,将服务地址改为中继地址,认证信息填对应企业账号凭证即可,这个方案单账号单日发信限额最高可以到10万封,适合生产环境批量发信场景。

避坑提示:不要多次使用原账号密码重试发信,连续认证失败会触发谷歌安全风控,临时锁定账号SMTP权限24小时;不要使用声称可以绕过LSA限制的第三方脚本或工具,基本都是盗号程序,会导致Gmail账号被盗。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:57:27