想了解一下我遇到的一个错误。
在transporter.sendmail(func( err,info){})上,err变量返回以下内容:
{ [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池包,我的传输程序目前看起来如下所示:
var transporter = nodemailer.createTransport(smtpPool({
service: 'gmail',
auth: {
user: 'xxx@gmail.com',
pass: 'xxx'
},
maxConnections: 5,
maxMessages: 200
}));我还没有使用XOATH,因为我没有感觉需要使用XOATH。我已经删除了我正在使用的gmail帐户的DisplayUnlockCaptcha,但我不认为这是相关的。不管它的价值是什么,我使用的是这个应用程序的平均堆栈。
看起来在nodemailer调用getaddrinfo时找不到'smtp.gmail.com‘,但我不明白为什么。
任何见解都是值得赞赏的。
编辑:
来自nodemailer的开发人员:
ENOTFOUND意味着应用程序无法解析smtp.gmail.com的DNS记录。可能你的DNS服务器出问题了。这是由Node处理的,而不是由Nodemailer处理的,如果主机名没有解析,Nodemailer就无能为力。如果这是随机发生的,那么您可以编辑您的应用程序,稍后再试一次。
而且看起来,nodemailer不支持代理,也不打算支持代理。在我看来是死胡同。
发布于 2016-03-28 16:23:46
我的nodemailer安装程序也有相同的错误,我通过将gmail密码更改为不包含任何特殊字符来修正它。
发布于 2022-11-30 18:01:19
var transporter = nodemailer.createTransport(smtpPool({
service: 'gmail',
secure: false, // true for 465, false for other ports
auth: {
user: 'xxx@gmail.com',
pass: 'xxx'
},
maxConnections: 5,
maxMessages: 200
}));试试这个,它应该工作得很好.
https://stackoverflow.com/questions/29282820
复制相似问题