NodeMailer:getaddrinfo错误

Tok*_*ken 6 email smtp node.js nodemailer

寻找一些我正在获得的错误的洞察力.

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

{ [Error: getaddrinfo ENOTFOUND smtp.gmail.com]
  code: 'ENOTFOUND',
  errno: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'smtp.gmail.com' }
Run Code Online (Sandbox Code Playgroud)

我没有在他们的网站或github上看到任何针对nodemailer的错误文档,我没有在Google搜索中找到任何有用的信息.我看到的最近的是这篇SO帖子.我想通过一个cron工作每周发送一次约50封电子邮件.

我有没有使用nodemailer-smtp-pool包试过这个,我的传输器目前看起来像这样:

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

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

当nodemailer进行getaddrinfo调用时,看起来没有找到'smtp.gmail.com',但我无法理解为什么.

任何见解都表示赞赏

编辑:

来自nodemailer的开发人员:

ENOTFOUND意味着该应用程序无法解析smtp.gmail.com的DNS A记录.您的DNS服务器可能有问题.这是由Node而不是Nodemailer处理的,如果没有解析主机名,Nodemailer就无法做到.如果这是随机发生的,那么您可以编辑您的应用程序,稍后再试一次.

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

Žan*_*olt 0

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