我正在尝试在新用户注册或忘记密码时发送电子邮件。 我正在使用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: ""
}
我不知道为什么会收到这个错误。
答案 0 :(得分:9)
如果您连接到msa(587)或smtp(25)端口,则不要将secureConnection
设置为 true 。
secureConnection
设置为true的代码会尝试立即启动SSL协商,但另一方会为您提供未加密的 SMTP问候语。
secureConnection - 使用SSL(默认为false,服务不需要)。如果您正在使用端口587,则将secureConnection保持为false,因为连接以不安全的纯文本模式启动,并且稍后仅使用STARTTLS进行升级