10

我正在通过我的 Godaddy 电子邮件帐户发送电子邮件。为此,我使用节点 js 发送电子邮件,但它给出了以下错误:

{ [Error: getaddrinfo ENOTFOUND] code: 'ENOTFOUND', errno: 'ENOTFOUND', syscall: 'getaddrinfo' }

源代码:

var transporter = nodemailer.createTransport({
    host: 'ssl://smtpout.secureserver.net',
    port: 465,
    auth: {
        user: 'Email address',
        pass: 'password'
    }
});

var mailOption = {
    from:  from,             
    to:   to ,                                   
    subject: subject,                            
    text:  body                                 
};

transporter.sendMail(mailOption,function(error, response){

    if(error){
        console.log(error);
    }
    else{
        var successRes = { "status": "success" }
        res.send(successRes,200);
    }
});
4

2 回答 2

16

显示错误是因为无法解析主机,即因为您将 ssl:// 附加到主机

根据nodemailer-smtp-transport 的 github 链接上的自述文件,您的 createTransport 应该是这样的,以实现安全连接

var transporter = nodemailer.createTransport({ 
    host: 'smtpout.secureserver.net', 
    port: 465, 
    auth: { user: 'Email address', pass: 'password' },
    secure: true
});

试一试上面的方法,我认为它应该可以正常工作,如果它不起作用,请检查您的防火墙/代理设置。

于 2014-08-12T17:42:42.880 回答
0

请不要在您的主机中使用 ssl 或安全套接字层。请删除主机并尝试。简单地喜欢

主机:'smtpout.secureserver.net'

于 2016-04-08T14:02:02.003 回答