Nodemailer getaddrinfo ENOTFOUND 错误

Posted

技术标签:

【中文标题】Nodemailer getaddrinfo ENOTFOUND 错误【英文标题】:Nodemailer getaddrinfo ENOTFOUND Error 【发布时间】:2018-03-03 14:21:23 【问题描述】:

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

关于 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) 
    );

【问题讨论】:

【参考方案1】:

我在使用 aws ses 服务时也遇到了同样的错误。就我而言,这是错误的配置凭据。

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

我更新了 AWS_SES_REGION 然后它对我有用

【讨论】:

您能否更明确地说明您的修复方式,这并不是真正的答案。【参考方案2】:

尝试停止使用 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

【讨论】:

以上是关于Nodemailer getaddrinfo ENOTFOUND 错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 mocha 时 getaddrinfo 无法解析主机文件中的地址

NodeMailer 登录无效

Node.js使用Nodemailer发送邮件

node-fetch 流文件到 nodemailer,然后 nodemailer 将文件作为附件发送

找不到模块“nodemailer”

nodemailer模块