node-imap, почтовое событие не работает, когда приходит несколько писем - PullRequest
0 голосов
/ 12 февраля 2019

Я использую библиотеку node-imap для чтения почты, почтовое событие не запускается 2-й раз после инициализации.

ниже мой код

также, ошибка его выдачи: прочитайте ECONNRESET какошибка после 1-го повторного получения электронного письма.

Ожидается, что imap.once ('mail', функция (x) {} должна вызываться всякий раз, когда в почтовом ящике возникает любое новое письмо.

imap.once ('mail', function (x) {} не запускается.

Это событие срабатывает только один раз, когда я запускаю файл node.js, и позже оно не запускается. Пожалуйста, sugggest.

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 голосов
/ 08 июля 2019

Полагаю, вам следует использовать imap.on, а не imap.once

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

Приведенный выше код работал для меня.

...