我有一台本地SMTP电子邮件服务器,用于在我的计算机上运行测试。它在端口25上侦听SMTP。我可以使用常规电子邮件客户端向其发送和接收电子邮件。
当我构建包含电子邮件输出节点的Node-RED流并使用以下命令配置其属性时
to: <email address>
server: localhost
port: 25
并提交流程,我收到错误:
25 Feb 16:43:24 - [error] [e-mail:<email address>] Error: 101057795:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:794:
我对如何进行感到茫然。看一下这些消息,似乎在这里有一些形式的SSL协商/测试。在我的SMTP服务器上打开跟踪,每次尝试运行流程时都会找到以下日志:
"TCPIP" 10708 "2016-02-25 16:43:08.294" "TCP - 127.0.0.1 connected to 127.0.0.1:25."
"DEBUG" 10708 "2016-02-25 16:43:08.298" "Creating session 22"
"SMTPD" 10708 22 "2016-02-25 16:43:08.298" "127.0.0.1" "SENT: 220 WIN7-X64 ESMTP"
"DEBUG" 9772 "2016-02-25 16:43:08.299" "Ending session 22"
Node-RED节点似乎正在发送连接请求,取回SMTP 220
响应,然后立即失败。
答案 0 :(得分:0)
我看到Dave回复了github issue但只是为了解决这个问题的循环。
此时(2016年2月),该节点假设SSL始终可用并已启用,在某些时候我们需要返回到电子邮件节点并找到一种简单的方法来公开更多的nodemailer选项以允许连接到更广泛的公共和私人电子邮件提供商。
答案 1 :(得分:0)
我遇到了同样的问题并且有一个令人讨厌的黑客攻击,它可以让邮件通过我的本地交换服务器的普通SMTP,没有身份验证。
编辑... / 61-email.js文件并进行如下更改:
var smtpTransport = nodemailer.createTransport({
host: node.outserver,
port: node.outport,
secure: false,
ignoreTLS: true //,
// auth: {
// user: node.userid,
// pass: node.password
// }
});