【发布时间】:2019-07-05 18:09:09
【问题描述】:
我正在使用 node-imap 库读取邮件,邮件事件在初始化后第二次未触发。
下面是我的代码
另外,它给出错误:在第一次检索电子邮件后将 ECONNRESET 读取为错误。
期望 imap.once('mail', function (x) { } 应该在邮箱中出现任何新邮件时调用。
imap.once('mail', function (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();
});
});
}
}
【问题讨论】:
-
连接关闭时,也就是ECONNRESET的意思,需要再次运行
imap.connect()。如果您不这样做,则该连接将关闭,并在剩下的时间里保持关闭状态。 -
我应该在哪里提到 imap.connect() ?目前,imap.connect() 仅在节点应用程序启动时文件初始化时执行一次!!!我已经更新了我的问题,请看一下
-
ECONNRESET 表示连接已重置。在那之后不会再发生任何事情了。是否、何时以及如何重新连接取决于您。
标签: javascript node.js imap node-imap