NodeMailer:getaddrinfo错误

时间:2015-03-26 15:42:16

标签: node.js email smtp nodemailer

寻找对我遇到的错误的一些见解。

在transporter.sendmail(func(err,info){})上,错误变量返回:

{ [Error: getaddrinfo ENOTFOUND smtp.gmail.com]
  code: 'ENOTFOUND',
  errno: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'smtp.gmail.com' }

我没有在其网站或github上看到任何针对nodemailer的错误文档,我在Google搜索中找不到任何有用的内容。我看到的最近的是this SO post。我想通过一个cron工作每周发送一次约50封电子邮件。

我在使用和不使用nodemailer-smtp-pool软件包的情况下尝试了这个,我的传输器目前看起来像这样:

var transporter = nodemailer.createTransport(smtpPool({
  service: 'gmail',
  auth: {
    user: 'xxx@gmail.com',
    pass: 'xxx'
  },
  maxConnections: 5,
  maxMessages: 200
}));

我还没有使用XOATH,因为我的印象不是我需要的。我已经删除了我正在使用的gmail帐户的DisplayUnlockCaptcha,但我不认为这是相关的。对于它的价值,我正在为这个应用程序使用MEAN堆栈。

当nodemailer进行getaddrinfo调用时,似乎找不到'smtp.gmail.com',但我无法理解为什么。

赞赏任何见解

编辑:

来自nodemailer的开发者:

  

ENOTFOUND表示该应用无法解析DNS A记录   smtp.gmail.com。您的DNS服务器可能有问题。这是   由Node而不是Nodemailer处理,Nodemailer没有   如果主机名未解析,请执行此操作。如果这是随机发生的那么你   可以编辑你的应用程序,稍后再试一次。

并且它看起来不像nodemailer支持代理,或者曾经计划过。对我来说看起来像死路一条。

1 个答案:

答案 0 :(得分:1)

我的nodemailer设置出现了同样的错误,我通过更改gmail密码来修复它,使其不包含任何特殊字符。