首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node-imap::如何直接获取已到达的电子邮件,而不是使用搜索筛选器

node-imap::如何直接获取已到达的电子邮件,而不是使用搜索筛选器
EN

Stack Overflow用户
提问于 2016-08-01 18:27:07
回答 1查看 1.4K关注 0票数 0

我已经在节点上编写了一个包装器-imap(https://github.com/mscdex/node-imap)。目前,我正在使用的标志,以搜索电子邮件到达一个特定的收件箱。对于我听到的每一封电子邮件,我都会调用一个imap.search()方法,然后调用一个imap.fetch()方法。是否可以不使用imap.search()方法直接获取电子邮件。从我当前的代码中提供代码片段。

代码语言:javascript
复制
self.imap.on("mail", function(id) {
 self.parseUnreadEmails(time)
});

MailListener.prototype.parseUnreadEmails = function(time) {
var self = this;

 self.imap.search([["SINCE", time]], function(error, searchResults) {
     var fetch;
     if (error) {
         self.emit("error", error);
     } else {
         fetch = self.imap.fetch(searchResults, {
             bodies: '',
             markSeen: true
         })
     }
     //do some action       

 }
}
EN

回答 1

Stack Overflow用户

发布于 2016-08-03 11:41:37

如果您希望监视和获取到达特定邮箱的新邮件,您可以使用许多方法,下面是一些可以使用的有效方法。

  1. 使用空闲命令-是的,使用此命令,您可以将文件夹置于空闲状态,并在新邮件到达或是否有任何标志更改时监视是否存在/删除响应。一定要读这个RFC。一旦使用空闲命令的约束是必须对特定文件夹有专门的tcp连接,就不能在单个空闲命令中监视多个文件夹。
  2. 轮询状态(UIDNEXT MESSAGECOUNT)命令经常在合理间隔内执行。这将告诉您uidnext(如果与以前的值有任何更改,您应该找到差异并获取那些邮件),.Before继续仔细阅读IMAP。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38705656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档