如何解决 nodemailer 中的 CERT_UNTRUSTED 错误

How to solve CERT_UNTRUSTED error in nodemailer

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

"nodemailer": "1.3.4",
"nodemailer-smtp-transport": "1.0.2",

这是我的网络邮件信息:

我这样设置 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
    }));

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

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

websiteGeoTrust Inc 验证,所以我认为它是相当值得信赖的。有没有办法让 nodemailer 信任证书或强制它发送电子邮件,即使它不信任它?

感谢您的帮助!

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

这是选项:

tls: {rejectUnauthorized: false}

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

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
    })
);