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

Nodemailer发信失败 EHLO/HELO携带127.0.0.1被拒如何解决

问题现象

上周在Windows 10电脑上作为计划任务运行的多个Nodemailer发信脚本突然停止工作。先后尝试更新Node.js与Nodemailer版本、关闭系统防火墙、更换其他电脑测试,均无法解决发信故障。联系邮件服务商后对方确认服务端未做任何配置变更,且使用Mozilla Thunderbird客户端可正常收发该邮箱邮件。
开启Nodemailer debug调试模式后,获取到如下运行日志:

[2022-06-20 00:23:25] DEBUG Creating transport: nodemailer (6.7.5; SMTP/6.7.5[client:6.7.5])
[2022-06-20 00:23:25] DEBUG Sending mail using SMTP/6.7.5[client:6.7.5]
[2022-06-20 00:23:26] DEBUG [VIUENUHea4] Resolved mailx.freeparking.co.nz as 43.245.52.240 [cache miss]
[2022-06-20 00:23:26] INFO  [VIUENUHea4] Secure connection established to 43.245.52.240:465
[2022-06-20 00:23:29] DEBUG [VIUENUHea4] S: 220 mailx.hosts.net.nz - ESMTP - jessie - Mon, 20 Jun 2022 12:23:29 +1200
[2022-06-20 00:23:29] DEBUG [VIUENUHea4] C: EHLO [127.0.0.1]
[2022-06-20 00:23:29] DEBUG [VIUENUHea4] S: 550-#h1 - An IP of 127.0.0.1 as a HELO is not currently accepted due to high
[2022-06-20 00:23:29] DEBUG [VIUENUHea4] S: 550 volumes of bot activity
[2022-06-20 00:23:29] DEBUG [VIUENUHea4] C: HELO [127.0.0.1]
[2022-06-20 00:23:29] INFO  [VIUENUHea4] Connection closed
[2022-06-20 00:23:29] ERROR [VIUENUHea4] Connection closed unexpectedly
[2022-06-20 00:23:29] DEBUG [VIUENUHea4] Closing connection to the server using "end"
[2022-06-20 00:23:29] ERROR Send Error: Connection closed unexpectedly

问题答复

你的判断完全正确。日志中服务端已经明确返回550错误码,提示因垃圾bot活动过多,当前不接受HELO/EHLO阶段携带127.0.0.1地址的请求,这就是连接被意外断开的直接原因。

Nodemailer支持手动修改EHLO/HELO携带的标识,创建SMTP传输实例时,在配置项中添加name字段即可自定义该值,配置示例如下:

const transporter = nodemailer.createTransport({
  host: "mailx.freeparking.co.nz",
  port: 465,
  secure: true,
  name: "本机主机名/公网IP/邮箱域名", // 该字段即为EHLO/HELO阶段上报的身份标识
  auth: {
    user: "你的邮箱账号",
    pass: "你的邮箱密码或授权码"
  }
});

name字段不要填写127.0.0.1这类回环保留地址即可:Windows系统可直接在命令行执行hostname命令获取本机主机名填入,也可以填写本机公网IP、邮箱对应的域名,均可通过服务商的校验规则。手动指定该字段后,Nodemailer不会再自动探测本机网络地址生成HELO标识,可彻底规避这类自动探测拿到异常地址的问题。

其他可行解决方案:

  • 排查本机网络变动:该问题突然出现通常是近期系统更新、安装虚拟网卡/代理软件导致本地网络路由变化,Nodemailer自动探测地址时拿到了回环地址,如不需要相关虚拟网卡/代理可直接卸载或禁用,也能恢复默认探测逻辑。
  • 更换连接端口:可尝试切换到SMTP的587端口走STARTTLS加密连接,部分服务商在587端口的HELO校验规则比465端口宽松。
  • 如以上方案均无效,可联系邮件服务商将你的出口IP加入白名单,跳过HELO阶段的地址校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 10:46:01