node-imap,当有多封电子邮件时,邮件事件不起作用

时间:2019-02-12 06:46:03

标签: javascript node.js imap node-imap

我正在使用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();
        });
    });
    }
}

1 个答案:

答案 0 :(得分:0)

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

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

上面的代码对我有用。