express - “在建立安全 TLS 连接之前客户端网络套接字已断开”nodemailer 中的错误
问题描述
我想设置联系表,这就是为什么我使用节点邮件程序和邮递员进行测试,但是,我收到了这个错误
Client network socket disconnected before secure TLS connection was established
这是我的代码:
const transporter = nodemailer.createTransport({
host: 'smtp.itcarver.com',
port: 587,
secure: false,
auth: { user: 'support@itcarver.com', pass: 'xyz' },
tls: { rejectUnauthorized: false }
});
const mailOptions = {
from: 'support@itcarver.com',
to: "xyz",
subject: "subject",
text: "test",
};
transporter.sendMail(mailOptions, function(error, info) {
if (error) {
console.log(error)
res.send("error");
} else {
res.send('Email sent: ');
}
});
这是错误:
Error: Client network socket disconnected before secure TLS connection was established
at connResetException (internal/errors.js:604:14)
at TLSSocket.onConnectEnd (_tls_wrap.js:1513:19)
at Object.onceWrapper (events.js:417:28)
at TLSSocket.emit (events.js:323:22)
at endReadableNT (_stream_readable.js:1204:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
code: 'ESOCKET',
path: undefined,
host: 'smtp.itcarver.com',
port: undefined,
localAddress: undefined,
command: 'CONN'
}
解决方案
您可能需要将 tls maxVersion 设置为非默认值(即 TLSv1.3)。在我的情况下这是必要的。
tls: { maxVersion: 'TLSv1.2' }
推荐阅读
- c++ - Clang-Tidy 关于未能初始化匿名联合的所有字段的警告是误报吗?
- asp.net - TextChanged 事件在焦点从该文本框(telerik 文本框)更改之前不会触发
- regex - RegEx 将最后一项与 Breakline 匹配
- python - 用循环中的行填充现有数据框
- python - 使用 twilio 调用时,PORT 80 突然不起作用
- pandas - python 如何选择每个用户的最新样本作为测试数据?
- javascript - 如何使用 document.querySelector 在 selenium 中选择第一项
- go - 如何关闭具有多个发件人的频道?
- javascript - 观看网页以了解 chrome 或 firefox 中的任何 javascript 变量更改
- php - Laravel - 将一个雄辩的对象传播到一个数组中