Nodemailer getaddrinfo ENOTFOUND 错误

10

我正在寻求关于这个错误的一些见解。

在smtpTransport.sendmail(func(err, info){})中出现。

err变量返回以下内容:

Error: getaddrinfo ENOTFOUND smtp.gmail.com smtp.gmail.com:465
       at errnoException (dns.js:50:10)
       at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)

我的代码是:

var smtpTransport = nodemailer.createTransport({
                service: 'Gmail',
                auth: {
                    user: 'xxx@gmail.com',
                    pass: 'xxx'
                }
            });
            var mailOptions = {
                to: user.email,
                from: 'xxx@gmail.com',
                subject: 'Node.js Password Reset',
                text: ' '
            };
            smtpTransport.sendMail(mailOptions, function(err) {
            });
        }
    ], function(err) {
    });
3个回答

19

尝试停止使用Gmail服务,并像以下方式设置它一样设置为其他smtpTransport。

var smtpTransport = nodemailer.createTransport({
    host: 'smtp.gmail.com',
    port: 465,
    secure: true, // use SSL
    auth: {
        user: 'user@gmail.com',
        pass: 'pass'
    }
});

如果这不起作用,那么你的服务器可能由于防火墙或其他原因无法查找smtp.gmail.com,为了检查,请输入以下内容。

 nslookup smtp.gmail.com

1

我遇到了同样的问题,因为我拼错了单词

stmp.gmail.com

应该是这样的

smtp.gmail.com

var transport = mailer.createTransport({
    port : 465,
    host:'smtp.gmail.com',
})

我明白了... 我试图帮助您更好地理解此网站的规则。目前,您很有可能会被投下反对票...因为在原始问题中,错误报告清楚地指出:ENOTFOUND smtp.gmail.com smtp.gmail.com:465。无论如何,请按照您认为正确的方式去做!对于下一个答案,请仔细阅读问题并尽量准确。优秀的答案有助于整个社区! - pierpy
1
谢谢,我犯了同样的错误。 - Sumit Sharma

0

我也曾遇到与aws ses服务相关的同样错误。在我的情况下,是由于错误的配置凭据所致。

AWS_SES_REGION="us-east-2"
AWS_SES_ACCESS_KEY_ID=""
AWS_SES_SECRET_ACCESS_KEY=""

我更新了AWS_SES_REGION,然后它就可以工作了


2
你能更明确地说明你是如何修复的吗?这并不是一个真正的答案。 - YLR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接