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

NodeMailer配置报错求助:Greeting未接收/连接拒绝/SSL版本错误

NodeMailer 配置报错解决方案

原配置代码

var transporter = nodemailer.createTransport({ 
  name:"www.rolester.com", 
  service:"smtp", 
  port: 27017, 
  auth: { 
    user: "aladi09@rolester.com", 
    pass: "alandiv09" 
  } 
})

遇到的报错

  • 初始配置报错:
    Error: Greeting never received
    
  • 改为587端口后报错:
    Error: connect ECONNREFUSED 127.0.0.1:587
    
  • 添加secure: true后报错:
    [Error: 68390000:error:0A00010B:SSL routines:ssl3_get_record:wrong version number:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:355:]
    

解决方案

1. 先修正端口错误

27017是MongoDB的默认端口,和SMTP服务完全无关,直接换成主流SMTP端口:

  • 587(推荐,采用STARTTLS加密)
  • 465(SSL加密)
  • 25(非加密,多数服务商已禁用)

2. 解决连接被拒绝问题

出现ECONNREFUSED是因为你用了service:"smtp",但NodeMailer无法识别这个“通用SMTP”服务,默认会尝试连接本地127.0.0.1的SMTP服务器,自然被拒绝。调整方式:

  • 删除service字段,直接指定你的域名邮箱SMTP服务器地址(比如smtp.rolester.com,具体地址去你邮箱服务商后台查询)
  • 示例配置:
var transporter = nodemailer.createTransport({ 
  name:"www.rolester.com", 
  host: "smtp.rolester.com", // 替换成你的域名邮箱SMTP主机地址
  port: 587, 
  secure: false, // 587端口用STARTTLS,secure必须设为false,后续会自动升级加密
  auth: { 
    user: "aladi09@rolester.com", 
    pass: "alandiv09" 
  } 
})

3. 修复SSL版本错误

587端口不支持直接SSL连接,强行添加secure: true必然报错。如果想用SSL加密,换成465端口,同时把secure设为true:

var transporter = nodemailer.createTransport({ 
  name:"www.rolester.com", 
  host: "smtp.rolester.com", 
  port: 465, 
  secure: true, 
  auth: { 
    user: "aladi09@rolester.com", 
    pass: "alandiv09" 
  } 
})

额外必查项

  • 确认邮箱密码正确,部分服务商要求用应用专用密码(开启2FA的情况下,不能使用登录密码)
  • 检查服务器/本地防火墙是否放行587/465端口,本地开发注意杀毒软件的拦截
  • 核对SMTP主机地址,别自行猜测,直接去你的域名邮箱管理后台查看官方配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:25:22