SSL23_GET_SERVER_HELLO:未知协议 [连接到 msa (587) 端口]。

3

我正在尝试在新用户注册或忘记密码时发送电子邮件。

我的系统是Linux,应用程序是使用Node.js开发的。

错误信息:

[Error: 140020013401920:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:

014-03-17T04:23:22-0700 app.0: debug: cleared heartbeat timeout for client VP5heQmQKpirWe81qegF
2014-03-17T04:23:22-0700 app.0: debug: set heartbeat interval for client VP5heQmQKpirWe81qegF
2014-03-17T04:23:28-0700 app.0: { name: 'anyUser',
2014-03-17T04:23:28-0700 app.0: { [Error: 140020013401920:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:683:
2014-03-17T04:23:28-0700 app.0:   hash: null,
2014-03-17T04:23:28-0700 app.0: ] stage: 'init' }
2014-03-17T04:23:28-0700 app.0:   email: 'testmail@testmail.com',
2014-03-17T04:23:28-0700 app.0:   initial: null,
2014-03-17T04:23:28-0700 app.0:   _id: 5326d4262a8c57cf04000005,
2014-03-17T04:23:28-0700 app.0:   __v: 0,
2014-03-17T04:23:28-0700 app.0:   pending: false,
2014-03-17T04:23:28-0700 app.0:   playerBadges: [],
2014-03-17T04:23:28-0700 app.0:   appRole: 'Player',
2014-03-17T04:23:28-0700 app.0:   projectsPlayer:
2014-03-17T04:23:28-0700 app.0:    [ { project: 5326d366c004dd9305000005,
2014-03-17T04:23:28-0700 app.0:        _id: 5326d4262a8c57cf04000006,
2014-03-17T04:23:28-0700 app.0:        role: 'Team Member' } ] }
2014-03-17T04:23:28-0700 app.0: PUT /login/resetpassword 200 4ms - 58
2014-03-17T04:23:28-0700 app.0: notify client side that there are a error send  email
2014-03-17T04:23:47-0700 app.0: debug: emitting heartbeat for client VP5heQmQKpirWe81qegF
2014-03-17T04:23:47-0700 app.0: debug: websocket writing 2::

配置:

var smtp = {
  host: "server.stestmail.local",
  secureConnection: true,
  port: 587,
  requiresAuth: false,
  domains: ["stestmail.com"],
  auth: {
    user: "anyuser@stestmail.com",
    pass: ""
  }

我不知道为什么会出现这个错误。


你确定那是正确的配置吗?发送或连接时不需要邮件服务器密码吗?你已经删除它了还是根本没有使用密码? - zero298
我尝试使用有效的用户名和密码,但仍然遇到相同的错误。SSL例程:SSL23_GET_SERVER_HELLO:未知协议。 - user3430250
1个回答

9
如果您连接到msa(587)或smtp(25)端口,请不要secureConnection设置为true
您的代码将secureConnection设置为true,尝试立即启动SSL协商,但对方给出了未加密的SMTP问候。 https://nodemailer.com/smtp/

secureConnection - 使用SSL(默认值为false,在服务中不需要)。 如果您使用的是端口587,则保持secureConnection为false,因为连接以不安全的纯文本模式启动,然后仅稍后通过STARTTLS升级。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接