node-imap,邮件事件在多封电子邮件到来时不起作用

node-imap, mail event not working when multiple email comes

我正在使用 node-imap 库读取邮件,邮件事件在初始化后没有第二次触发。

下面是我的代码

另外,它给出错误:在第一次检索电子邮件后将 ECONNRESET 读取为错误。

预期 imap.once('mail',函数 (x) { } 应该在邮箱中出现任何新邮件时调用。

imap.once('mail', 函数 (x) { } 未被触发。

此事件仅在我 运行 node.js 文件时触发一次,之后就不再触发了。请建议。

imap.connect();

imap.once('ready', function () {
    console.log("Imap ready");
    readMail();
});

function readMail() {
    openInbox(function (err, box) {

        imap.once('mail', function (x) {
            console.log("New Mail...", x);
            executeMail(err);
        });
    });
    }
}

根据评论尝试了以下,但仍然无效。

function readMail() {
    openInbox(function (err, box) {

        imap.once('mail', function (x) {
            console.log("New Mail...", x);
            executeMail(err);
            imap.connect();
        });
    });
    }
}

我想你应该使用 imap.on 而不是 imap.once

imap.on("mail", mail => {
  console.log("New mail arrived 1");
});

上面的代码对我有用。