Node.js 名为SHEAP的节点电子邮件程序错误:读取ECONRESET

Node.js 名为SHEAP的节点电子邮件程序错误:读取ECONRESET,node.js,nodemailer,namecheap,Node.js,Nodemailer,Namecheap,我使用nodeEmailer将namescape用作主机时出现以下错误。这是随机发生的,但它经常发生。你们知道这是什么吗 Error: read ECONNRESET at TCP.onStreamRead (internal/stream_base_commons.js:205:27) { errno: 'ECONNRESET', code: 'ESOCKET', syscall: 'read', command: 'CONN' } 这是我的传送器,我在全球范围内定义它: const

我使用nodeEmailer将namescape用作主机时出现以下错误。这是随机发生的,但它经常发生。你们知道这是什么吗

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);

我最近遇到了这个问题,我通过添加密码、拒绝tls、将端口切换到465并将安全设置为true解决了这个问题

此外,我最大的问题是,在邮件对象的“发件人”字段中,它必须是电子邮件地址,而不仅仅是名称

来自:“杰瑞”——不起作用。 来自: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

当我使用transport、transporter和transporter.verify时,在切换功能之外,我遇到了各种各样的错误,有时电子邮件无法发送。在交换机功能内部,它们可以工作。

我最近遇到了这个问题,我通过添加密码、拒绝tls,并将端口切换到465和安全设置为true来解决它

此外,我最大的问题是,在邮件对象的“发件人”字段中,它必须是电子邮件地址,而不仅仅是名称

来自:“杰瑞”——不起作用。 来自: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
当我使用transport、transporter和transporter.verify时,在切换功能之外,我遇到了各种各样的错误,有时电子邮件无法发送。在开关功能内部,它们工作