【发布时间】:2016-10-09 06:10:20
【问题描述】:
我正在使用 nodemailer 构建一个通知应用程序,但我不断收到此错误:
[Error: 140735155404800:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:794:]
我正在使用我的工作所拥有的 smtp 服务器。我是一个 smtp noob,所以任何帮助将不胜感激。 我已经发送了没有任何传输方法的电子邮件,但是在几封电子邮件之后,消息对象会报告我的电子邮件处于“待处理状态”:
{"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 服务器不需要用户/密码
编辑:我可以在没有在我的家庭网络上定义传输的情况下发送电子邮件。我还设法让我的 gmail 也能正常工作。可能是证书或网络问题
【问题讨论】:
标签: javascript node.js server-side nodemailer serverside-javascript