首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Namecheap出现Nodemailer错误:读取ECONRESET

Namecheap出现Nodemailer错误:读取ECONRESET
EN

Stack Overflow用户
提问于 2020-06-04 17:43:08
回答 1查看 353关注 0票数 1

使用nodemailer将namecheap用作主机时,我得到以下错误。它是随机发生的,但它经常发生。你们知道这会是什么吗?

代码语言:javascript
复制
Error: read ECONNRESET at TCP.onStreamRead (internal/stream_base_commons.js:205:27) {
 errno: 'ECONNRESET',
 code: 'ESOCKET',
 syscall: 'read',
 command: 'CONN'
}

这是我的传输器,我在全局范围内定义它:

代码语言:javascript
复制
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"
   }
});

然后我根据文档发送它:

代码语言:javascript
复制
const mailOptions = {
    from: *FROM_EMAIL*
    to: *TO_EMAIL*,
    subject: *SOME_TEXT*
    html: *SOME_HTML*
};

await transporter.sendMail(mailOptions);
EN

回答 1

Stack Overflow用户

发布于 2021-02-28 22:39:23

我最近遇到了这个问题,我通过添加密码,拒绝授权到tls,并将端口切换到465和安全到真来解决它。

此外,我最大的问题是,在邮件对象的from字段中,它必须是一个电子邮件地址,而不仅仅是一个名字。

来自:"Jerry“-不起作用。来自:"Jerry@hotmail.com“-运行良好。

代码语言:javascript
复制
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方法,请确保代码如下所示

代码语言:javascript
复制
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函数内部,它们工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62191561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档