gpt4 book ai didi

node.js - 当我尝试发送电子邮件时,ESOCKET 错误是什么意思?

转载 作者:行者123 更新时间:2023-12-03 12:16:08 25 4
gpt4 key购买 nike

我正在尝试使用 nodemailer 发送电子邮件。

在我的局域网中有一个 SMTP 服务器监听端口 25。如果我使用 telnet,它工作正常。

我的js脚本是:

this.transporter.sendMail(mailOptions, function (error, info) {
if (error) {
console.log(JSON.stringify(error));
return callback(error, null);
}

console.log(JSON.stringify(info));

return callback(null, true);
});

它只打印:{"code":"ESOCKET","command":"CONN"}。这是什么意思?

提前致谢

最佳答案

Per https://github.com/nodemailer/nodemailer/issues/889#issuecomment-488267379(及其后续):

same problem here. resolved it by using IP address as host, see https://nodemailer.com/smtp/#general-options



对我们来说,这似乎与节流有关,因为大约 140 封邮件在批处理中通过,而其余邮件收到此错误(并且所有邮件都被发送到同一个电子邮件地址,因此没有问题:错误的电子邮件地址)。更改为 IP 并没有解决问题(可能是因为 SMTP 在 AWS 上?)。

最终对我们有用的是这个 - https://stackoverflow.com/a/55187729/235704

The below code change fixed the issue. Added this to the createTransport()

tls: {rejectUnauthorized: false}

Code:-

// create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
host: 'host',
port: 25,
secure : false, // true for 465, false for other ports
auth: {
user: 'user',
pass: 'password'
},
tls: {
// do not fail on invalid certs
rejectUnauthorized: false
},
});


在我们的提供商案例中,他们的证书似乎并未涵盖 AWS 上为其提供服务的所有 IP。

关于node.js - 当我尝试发送电子邮件时,ESOCKET 错误是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56147491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com