使用 node-imap 等待电子邮件到达

Waiting for email to arrive using node-imap

我正在使用 node-imap 作为邮件解决方案,但我需要一种等待电子邮件到达的方法。在 this post 中,有人提到使用 IMAP IDLE 命令来执行此操作。我想知道是否有人在这方面取得了成功,您会如何建议将其合并到 node-imap 自述文件中提供的示例代码中?

我认为好的起点是研究如何在 https://www.npmjs.com/package/inbox#wait-for-new-messages 模块中创建此方法。

看起来 like this code emits the event,共 new。 据我了解该模块的代码,他们以间隔

调用获取命令

我决定使用 inbox 模块。这通过调用 client.on("new", function(message){.

提供了一个清晰而快速的解决方案

对于node-imap,当新邮件到达当前打开的邮箱时,将发出"mail"事件。

您可以这样收听新邮件事件:

imap.on('mail', function(numNewMsgs) {
    // Fetch new mail
});