问题描述
我正在使用 nodemailer 构建通知应用程序,但不断收到此错误:
I'm building a notification application using nodemailer and I keep getting this error:
[错误:140735155404800:错误:140770FC:SSL 例程:SSL23_GET_SERVER_HELLO:未知协议:../deps/openssl/openssl/ssl/s23_clnt.c:794:]
我正在使用我的工作拥有的 smtp 服务器.我是一个 smtp 菜鸟,所以任何帮助将不胜感激.我在没有任何传输方法的情况下发送了电子邮件,但是在几封电子邮件之后,消息对象会报告我的电子邮件处于待处理状态":
I am using a smtp server my job has. I'm an smtp noob so any help would be appreciated.I have sent email without any transport method but after a few emails the message object would then report my email being put in a "pending state":
{"accepted":[],"rejected":[],"pending":[{"domain":"xxxxx.com","exchange":"xxxx.xxxx.com",...
当我尝试直接连接到主机时也会出现上述消息.
The above message occurs when I try to connect directly to the host as well.
这是我的代码:
//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();
});
我尝试将安全设置为 false,然后即使我像其他论坛提到的那样将 requireTLS 设置为 true,我也会收到无效的问候错误:
I have tried setting secure to false and then I get an invalid greeting error even if I set requireTLS true like some other forums have mentioned:
[Error: Invalid greeting from server:
554 chelmtp02.karmalab.net: 554 chelmtp02.karmalab.net]
code: 'EPROTOCOL',
response: '554 chelmtp02.karmalab.net',
responseCode: 554 }
SMPT 服务器不需要用户/密码
The SMPT server does not need user/password
我可以在没有在我的家庭网络上定义传输的情况下发送电子邮件.我也设法让我的 gmail 工作.可能是证书或网络问题
I can send email without a transport defined on my home network. I also managed to get my gmail to work as well. Could be a certificate or network issue
推荐答案
如果连接到端口 25,请在配置选项中使用 secure:false.使用 true 表示您要启动 TLS 连接,但端口 25 以明文形式开始,并且稍后升级
Use secure:false in the configuration options if connecting to port 25. Using true indicates that you want to start a TLS connection but port 25 starts out as plaintext and gets upgraded later
这篇关于为什么我在使用 nodemailer 时遇到这个错误?SSL23_GET_SERVER_HELLO:未知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!