我正在使用node-imap作为邮件解决方案,但是我需要一种方法来等待电子邮件到达。在this post中,有人提到使用IMAP IDLE命令来完成此操作。我想知道是否有人成功地使用了此命令,以及您将如何建议将其合并到node-imap自述文件中提供的示例代码中?
7nbnzgx91#
我决定使用inbox模块,这通过使用调用client.on("new", function(message){提供了一个清晰而快速的解决方案。
client.on("new", function(message){
w9apscun2#
我认为一个好的起点是研究如何在www.example.com模块中创建此方法https://www.npmjs.com/package/inbox#wait-for-new-messages。看起来这段代码发出了new的事件。据我所知,这个模块的代码调用fetch命令是有间隔的
new
erhoui1w3#
对于node-imap,当新邮件到达当前打开的邮箱时,将发出“mail”事件。您可以像这样收听新邮件事件:
imap.on('mail', function(numNewMsgs) { // Fetch new mail });
a14dhokn4#
您需要打开一个邮箱,您希望在其中侦听新邮件。下面是一个示例:
function listerBox() { imap.once("error", console.error); imap.on("ready", () => { imap.openBox("INBOX", true, (error, box) => { if (error) throw error; console.log('Connected!') imap.on("mail", () => { console.log("New one!") }) }); }); imap.connect(); } listerBox()
4条答案
按热度按时间7nbnzgx91#
我决定使用inbox模块,这通过使用调用
client.on("new", function(message){
提供了一个清晰而快速的解决方案。w9apscun2#
我认为一个好的起点是研究如何在www.example.com模块中创建此方法https://www.npmjs.com/package/inbox#wait-for-new-messages。
看起来这段代码发出了
new
的事件。据我所知,这个模块的代码调用fetch命令是有间隔的erhoui1w3#
对于node-imap,当新邮件到达当前打开的邮箱时,将发出“mail”事件。
您可以像这样收听新邮件事件:
a14dhokn4#
您需要打开一个邮箱,您希望在其中侦听新邮件。下面是一个示例: