如何解决nodemailer中的CERT_UNTRUSTED错误

arn*_*e.z 3 ssl-certificate node.js nodemailer

我正在尝试使用nodemailer发送电子邮件.我已经设法从其他主机发送它,但现在我想从另一个地址发送电子邮件.这些是我正在使用的nodemailer的版本(来自我package.json):

"nodemailer": "1.3.4",
"nodemailer-smtp-transport": "1.0.2",
Run Code Online (Sandbox Code Playgroud)

这是我关于我的网络邮件的信息:

RoundCube邮件客户端配置

我设置了这样的nodemailer:

    var transport = nodemailer.createTransport(smtpTransport({
        host: 'securemail.linevast.de',
        port: 465,
        secure: true,
        auth: {
            user: 'website@dynamic-objects.de', // this is my login name
            pass: 'mypassword'
        },
        maxConnections: 5,
        maxMessages: 10
    }));
Run Code Online (Sandbox Code Playgroud)

当我尝试发送电子邮件时,我收到以下错误消息.

[Error: certificate not trusted] code: 'CERT_UNTRUSTED'

网站已经过GeoTrust Inc的验证,所以我相信它非常值得信赖.有没有办法让nodemailer信任证书或强制它发送电子邮件,即使它不信任它?

谢谢您的帮助!

jmi*_*gov 6

是的,您可以告诉nodemailer不检查证书信任.

这是选项:

tls: {rejectUnauthorized: false}
Run Code Online (Sandbox Code Playgroud)

在初始传输对象上使用它:

var transporter = nodemailer.createTransport(smtpTransport('SMTP',{
        host: 'mail.mailserver.com',
        port: 587,
        auth: {
            user: 'user@mailserver.com',
            pass: 'passwd'
        },            
        authMethod:'NTLM',
        secure:false,
        // here it goes
        tls: {rejectUnauthorized: false},
        debug:true
    })
);
Run Code Online (Sandbox Code Playgroud)