为什么在使用 nodemailer 时会出现此错误? SSL23_GET_SERVER_HELLO:unknown

Why am I getting this error in using nodemailer ? SSL23_GET_SERVER_HELLO:unknown

我正在使用 nodemailer 构建通知应用程序,但我不断收到此错误:

[Error: 140735155404800:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:794:]

我正在使用工作中使用的 smtp 服务器。我是一个 smtp 菜鸟,所以我们将不胜感激。 我在没有任何传输方式的情况下发送了电子邮件,但在发送了几封电子邮件后,消息对象会报告我的电子邮件被放入 "pending state":

{"accepted":[],"rejected":[],"pending":[{"domain":"xxxxx.com","exchange":"xxxx.xxxx.com",...

当我尝试直接连接到主机时也会出现上述消息。

这是我的代码:

 //import nodemailer
var nodemailer = require('nodemailer');

// create reusable transporter object using SMTP
var transporter = nodemailer.createTransport({
     host: 'chelsmtp01.karmalab.net',
    port: '25',
    secure:true,
});



//email details
var mailOptions = {
    from: 'XXX', // sender address
    to: 'XXX', // list of receivers
    subject: stitle, // Subject line
    text: message, // plaintext body
    html: message 
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
    if(error)
        return console.log(error);

    console.log('Message sent: ' + JSON.stringify(info));

    //transporter.close();
});

我尝试将 secure 设置为 false,然后我收到无效的问候错误,即使我像其他一些论坛提到的那样设置 requireTLS true:

[Error: Invalid greeting from server:
554 chelmtp02.karmalab.net: 554 chelmtp02.karmalab.net]
code: 'EPROTOCOL',
response: '554 chelmtp02.karmalab.net',
responseCode: 554 }

编辑:SMPT 服务器不需要user/password

编辑:我可以在没有在我的家庭网络上定义传输的情况下发送电子邮件。我也设法让我的 gmail 也能正常工作。可能是证书或网络问题

如果连接到端口 25,请在配置选项中使用 secure:false。使用 true 表示您要启动 TLS 连接,但端口 25 以明文形式开始,稍后会升级