2

当我使用带有邮箱(MIAB)电子邮件的 node-imap 模块创建 IMAP 连接时,几分钟后,我收到 ECONNRESET 错误。我想知道这是连接配置中的错误,还是来自 MIAB 服务器端的如果它空闲太久会断开连接。

这是我的 IMAP 连接配置:

 {
          port: 993,
          tls: true,
          authTimeout: 30000,
          connTimeout: 30000,
          keepalive: {
            forceNoop: true,
          },
          tlsOptions: {
            rejectUnauthorized: false,
          },
}

这是我得到的错误:

Error: read ECONNRESET
    at TCP.onStreamRead (internal/stream_base_commons.js:209:20) {
  errno: -104,
  code: 'ECONNRESET',
  syscall: 'read',
  source: 'socket'
}

我正在使用 mail-notifier 模块,它是 node-imap 模块的包装器。这是我在 IMAP 连接中注册事件的代码

const notifier = Notifier(imap);
notifier
  .on("end", () => notifier.start())
  .on("connected", () => {
    console.log(`Connected IMAP: ${user}`);
  })
  .on("mail", (mail) => {
    this.onMail(mail, user);
  })
  .on("error", (e: any) => {
    console.log(`IMAP error: ${user}, time: ${Date.now()}`);
    console.log(e);
    setTimeout(() => {
      notifier.stop();
      notifier.start();
    }, 5000);
  })
  .start();
4

0 回答 0