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

使用Nodemailer在Node.js中发邮件报getaddrinfo ENOTFOUND错如何解决

Nodemailer 发送邮件报错解决方法

根因说明

报错getaddrinfo ENOTFOUND https://example.com的核心原因是配置host字段时错误添加了https://协议前缀:
Nodemailer 建立SMTP连接时不需要HTTP/HTTPS协议前缀,DNS解析会直接把整个带前缀的字符串当作域名查询,自然无法找到对应解析记录。

修复步骤

  • 第一步:调整host配置,删除协议前缀,填写邮箱服务商提供的纯SMTP服务器域名(通常自有域名邮箱的SMTP地址为smtp.example.com,请以你的邮箱服务官方给出的地址为准),修改后的配置示例如下:
const transporter = nodemailer.createTransport({
        host: 'smtp.example.com', // 仅填写SMTP服务器纯域名,不要带协议前缀
        port: 465, // Port
        secure: true, // this is true as port is 465
        auth: {
        user: 'noreply@example.com',
        pass: 'mypassword'
        }
    });
  • 第二步:配置修改后可以通过以下代码验证SMTP连接是否正常:
transporter.verify(function(error, success) {
  if (error) {
    console.log('SMTP连接失败:', error);
  } else {
    console.log('SMTP连接正常,可正常发送邮件');
  }
});
  • 若验证仍失败,再排查两个常见问题:
    • 确认填写的SMTP域名、端口、账号密码和邮箱服务商官方给出的配置完全一致
    • 确认运行代码的服务器网络没有被防火墙、安全组拦截对SMTP服务器465端口的访问请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:18:00