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

使用Nodemailer搭配cPanel自定义邮箱时出现连接超时错误

解决Nodemailer连接cPanel自定义域名邮箱超时问题

看起来你在切换到cPanel自定义域名邮箱后,遇到了Nodemailer连接超时的问题——之前用Gmail一切正常,现在却卡在这里,确实让人头疼。结合你给出的代码、错误日志和怀疑的点,我来帮你一步步排查解决:

1. 先修正DNS记录类型:CNAME换成A记录

你提到用了CNAME记录指向mail.mydomain.com,但cPanel的邮件服务通常不推荐用CNAME,这很可能是核心问题:

  • cPanel的邮件主机mail.mydomain.com需要绑定独立的A记录,直接指向你的服务器公网IP,而不是通过CNAME转发(CNAME会让解析依赖目标域名,容易引发邮件服务的DNS解析异常)。
  • 操作步骤:登录你的DNS管理控制台,删除现有的mail类型CNAME记录,新增一条A记录,主机名填mail,记录值填服务器的公网IP。

2. 处理TTL缓存导致的解析延迟

你的TTL设置是14400秒(4小时),这意味着旧的DNS记录可能还在本地或运营商缓存中,导致Nodemailer解析的还是无效地址:

  • 手动清除服务器的DNS缓存:如果是Ubuntu系统,执行sudo systemd-resolve --flush-caches;CentOS系统可以用sudo systemctl restart named。
  • 验证解析结果:用nslookup mail.mydomain.com或dig mail.mydomain.com命令,确认mail.mydomain.com已经指向正确的IP。如果解析不对,要么等TTL自动过期,要么联系DNS服务商强制刷新记录。

3. 检查端口连通性和防火墙设置

错误ETIMEDOUT说明Nodemailer连不上mail.mydomain.com的465端口,得确认端口是否对外开放:

  • 测试端口连通性:在你的服务器上执行nc -zv mail.mydomain.com 465,如果显示“Connection refused”或超时,说明端口被防火墙拦截了。
  • 放行端口:在服务器防火墙(比如UFW、阿里云安全组、AWS安全组)里添加规则,允许465(SSL)和587(STARTTLS)端口的入站/出站流量。
  • 尝试改用587端口:有些cPanel服务器对465端口限制更严格,换587端口试试,修改Nodemailer配置如下:
    var smtpTransport = nodemailer.createTransport({
      host: 'mail.mydomain.com',
      port: 587,
      secure: false, // 587用STARTTLS,不需要开启secure
      requireTLS: true, // 强制使用TLS加密
      auth: {
        user: 'me@mydomain.com',
        pass: process.env.Password
      }
    });
    

4. 确认cPanel邮箱服务本身正常

先排除邮箱服务本身的问题:

  • 登录cPanel面板,进入Email Accounts,确认me@mydomain.com账户状态正常,没有被锁定或禁用。
  • 用cPanel自带的Webmail登录该邮箱,发送一封测试邮件给外部邮箱(比如Gmail),确认邮件服务能正常收发。
  • 检查Email Routing设置,确保选择的是Local Mail Exchanger(如果你的服务器本地运行邮件服务),不要选远程转发。

5. 代码层面的小排查

  • 确认process.env.Password正确加载:可以临时把密码硬编码到配置里测试(测试完记得改回环境变量),排除环境变量未配置或密码错误的情况。
  • 如果是云服务器:有些云服务商(比如阿里云、腾讯云)默认会屏蔽邮件端口,需要联系服务商申请解封,或者使用他们提供的邮件中继服务。

先从DNS记录和端口连通性这两点入手,这是最常见的导致ETIMEDOUT的原因,应该能快速解决你的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:31:20