【发布时间】:2020-06-23 18:05:02
【问题描述】:
我会将 nodemailer 连接到 Aruba Webmail。我试过这个
var smtpTransport = nodemailer.createTransport({
host: "smtps.aruba.it",
logger: true,
secure: true,
port: 465,
auth: {
user: "****",
pass: "****"
},
tls: {
rejectUnauthorized: false,
minVersion: 'TLSv1'
}
})
但返回此错误
[2020-03-11 17:15:33] DEBUG Sending mail using SMTP/6.4.4[client:6.4.4]
[2020-03-11 17:15:33] DEBUG [aYJ1bl26Zc] Resolved smtps.aruba.it as 62.149.128.218 [cache miss]
[2020-03-11 17:15:33] ERROR [aYJ1bl26Zc] 140671405623168:error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small:../deps/openssl/openssl/ssl/statem/statem_clnt.c:2150:
[2020-03-11 17:15:33] ERROR [aYJ1bl26Zc]
[2020-03-11 17:15:33] DEBUG [aYJ1bl26Zc] Closing connection to the server using "destroy"
[2020-03-11 17:15:33] ERROR Send Error: 140671405623168:error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small:../deps/openssl/openssl/ssl/statem/statem_clnt.c:2150:
[2020-03-11 17:15:33] ERROR
[Error: 140671405623168:error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small:../deps/openssl/openssl/ssl/statem/statem_clnt.c:2150:
] {
library: 'SSL routines',
function: 'tls_process_ske_dhe',
reason: 'dh key too small',
code: 'ESOCKET',
command: 'CONN'
}
我也尝试不使用 minVersion,但它返回相同的错误,只有 ssl_choose_client_version 中的函数字段和unsupported protocol 中的原因字段发生变化。
我该如何解决这个问题?
更新:
我用这个更改了我的代码
var smtpTransport = nodemailer.createTransport({
host: "smtp.mydomain.it",
logger: true,
secure: false,
port: 587,
auth: {
user: "******",
pass: "******"
},
tls: {
minVersion: 'TLSv1.2',
rejectUnauthorized: false
}
})
现在,由于这一变化,nodemailer 可以建立连接,但错误并没有消失。
这是日志
[2020-03-13 17:35:41] DEBUG Sending mail using SMTP/6.4.4[client:6.4.4]
[2020-03-13 17:35:41] DEBUG [neeofoVybVs] Resolved smtp.mydomain.it as 62.149.128.200 [cache miss]
[2020-03-13 17:35:41] INFO [neeofoVybVs] Connection established to 62.149.128.200:587
[2020-03-13 17:35:41] ERROR [neeofoVybVs] 140658187040640:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:../deps/openssl/openssl/ssl/statem/statem_lib.c:1929:
[2020-03-13 17:35:41] ERROR [neeofoVybVs]
[2020-03-13 17:35:41] DEBUG [neeofoVybVs] Closing connection to the server using "end"
[2020-03-13 17:35:41] ERROR Send Error: 140658187040640:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:../deps/openssl/openssl/ssl/statem/statem_lib.c:1929:
[2020-03-13 17:35:41] ERROR
[Error: 140658187040640:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:../deps/openssl/openssl/ssl/statem/statem_lib.c:1929:
] {
library: 'SSL routines',
function: 'ssl_choose_client_version',
reason: 'unsupported protocol',
code: 'ESOCKET',
command: 'CONN'
}
[2020-03-13 17:35:41] INFO [neeofoVybVs] Connection closed
[2020-03-13 17:35:41] INFO [neeofoVybVs] Connection closed
【问题讨论】:
标签: node.js ssl smtp tls1.2 nodemailer