【问题标题】:Node Imap - close the opened box?节点 Imap - 关闭打开的框?
【发布时间】:2019-02-11 22:04:59
【问题描述】:

我正在使用node-imap 连接到电子邮件服务器。我有大约 20 个用户,我为其打开与服务器的连接并收听新电子邮件。

问题是为了能够做到:

imap.once('mail', function(numNewMsgs) {
  console.log('');
});

您必须有一个打开的盒子。所以,我总是打开一个盒子,我从不关闭它。我的流程如下:

function search(imap) {
  imap.openBox('INBOX', true, (err, box) => {

    imap.once('mail', function() {
      search(imap);
    });
    imap.search(someConditions, function(err, results) {
      //do some stuff, fetch or whatever
    })
  })

}

可以看出,当邮件事件触发时,我正在从自身内部调用搜索功能。然后我打开一个盒子,我之前没有关上。

那么,最后的问题是:这是否因为某种原因而麻烦?如果是,我应该关闭该框,我将如何使用“邮件”事件?

@mscdex 希望你能看到这个。

【问题讨论】:

    标签: node.js imap node-imap


    【解决方案1】:

    IMAP RFC specifies 表示,当您打开另一个邮箱时,当您打开另一个邮箱时,会在打开新邮箱之前对前一个邮箱进行隐式关闭。如果打开新邮箱时出错,则不会打开任何邮箱(因为之前的邮箱仍然关闭)。

    【讨论】:

    • 不想用这个微不足道的问题向 repo 发送垃圾邮件。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多