使用nodemailer将namecheap用作主机时,我得到以下错误。它是随机发生的,但它经常发生。你们知道这会是什么吗?
Error: read ECONNRESET at TCP.onStreamRead (internal/stream_base_commons.js:205:27) {
errno: 'ECONNRESET',
code: 'ESOCKET',
syscall: 'read',
command: 'CONN'
}这是我的传输器,我在全局范围内定义它:
const transporter = nodemailer.createTransport({
host: "mail.privateemail.com",
port: 587,
secure: false,
auth:{
user: process.env.EMAIL_USER,
pass: process.env.EMAIL_PASS
},
tls:{
secureProtocol: "TLSv1_method"
}
});然后我根据文档发送它:
const mailOptions = {
from: *FROM_EMAIL*
to: *TO_EMAIL*,
subject: *SOME_TEXT*
html: *SOME_HTML*
};
await transporter.sendMail(mailOptions);发布于 2021-02-28 22:39:23
我最近遇到了这个问题,我通过添加密码,拒绝授权到tls,并将端口切换到465和安全到真来解决它。
此外,我最大的问题是,在邮件对象的from字段中,它必须是一个电子邮件地址,而不仅仅是一个名字。
来自:"Jerry“-不起作用。来自:"Jerry@hotmail.com“-运行良好。
const transporter = nodemailer.createTransport({
host: "mail.privateemail.com",
port: 465,
secure: true, // Must be true, false will fail
auth:{
user: process.env.EMAIL_USER,
pass: process.env.EMAIL_PASS
},
tls:{
rejectUnauthorized: false,
ciphers: "SSLv3"
}
});还有一件事,如果您使用switch方法,请确保代码如下所示
export default async (req, res) => {
switch (req.method) {
case "POST":
var transport = {
tls: {
...
var transporter = nodemailer.create......
transporter.verify........
// Then your mail below
break当我在交换机功能之外有传输器、传输器和transporter.verify时,我收到了各种各样的错误,有时电子邮件不能发送。在switch函数内部,它们工作。
https://stackoverflow.com/questions/62191561
复制相似问题