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

use*_*250 3 javascript email smtp smtpclient node.js

我想在新用户注册或忘记密码时发送电子邮件.我正在使用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::
Run Code Online (Sandbox Code Playgroud)

组态:

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

我不知道为什么我会收到这个错误.

AnF*_*nFi 9

如果连接到msa(587)或smtp(25)端口,则不要设置secureConnectiontrue.

secureConnection设置为true的代码会尝试立即启动SSL协商,但另一方会为您提供未加密的 SMTP问候语.

https://nodemailer.com/smtp/

secureConnection - 使用SSL(默认为false,服务不需要).如果您使用的是端口587,则将secureConnection设置为false,因为连接是以不安全的纯文本模式启动的,之后才使用STARTTLS进行升级