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

Nodemailer连接异常求助:ECONNREFUSED 127.0.0.1:587

解决Nodemailer连接Gmail时的ECONNREFUSED错误

你的错误日志显示连接的是本地地址127.0.0.1:587,而非Gmail的远程SMTP服务器,这说明Transporter配置存在问题,导致Nodemailer没有正确指向Gmail服务。下面是具体的解决步骤:

1. 修正Transporter核心配置

你当前的service字段填写的是'smtp.gmail.com',但Nodemailer的预设服务名称应该是'gmail'——这个预设值会自动帮你填充正确的SMTP主机、端口和安全规则。

方式一:使用Gmail预设服务(推荐)

const transporter = nodemailer.createTransport({
  service: 'gmail', // 改为'gmail',而非完整SMTP地址
  auth: {
    user: 'your-real-email@gmail.com',
    pass: 'your-email-password' // 注意:你原配置里pass值末尾有个空格,记得删除!
  }
});

方式二:手动指定SMTP参数(更灵活)

如果不想依赖预设服务,可以手动配置所有参数,确保指向Gmail的服务器:

const transporter = nodemailer.createTransport({
  host: 'smtp.gmail.com',
  port: 587,
  secure: false, // 587端口用TLS协议,secure=true对应465端口的SSL协议
  auth: {
    user: 'your-real-email@gmail.com',
    pass: 'your-email-password'
  }
});

2. 检查Gmail安全设置细节

虽然你开启了"低安全应用访问",但Google的安全规则有特殊情况:

  • 如果你开启了两步验证(2FA),低安全应用访问会直接失效,必须使用应用专用密码(App Password)替代原密码。你可以在Google账号的安全设置中生成这个专用密码。
  • 如果未开启2FA,确认低安全应用访问确实处于开启状态,设置可能需要几分钟才会生效。

3. 排查本地网络干扰

若配置修正后仍报错,检查以下本地因素:

  • 本地防火墙或杀毒软件是否拦截了587端口的出站连接。
  • 是否有代理服务器设置影响了网络请求,导致无法连接Gmail的SMTP服务器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:33:59