寻找对我遇到的错误的一些见解。
在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支持代理,或者曾经计划过。对我来说看起来像死路一条。
答案 0 :(得分:1)
我的nodemailer设置出现了同样的错误,我通过更改gmail密码来修复它,使其不包含任何特殊字符。