微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 node.js 中通过 imap-simple 获取看不见的消息并将它们标记为已读

如何解决在 node.js 中通过 imap-simple 获取看不见的消息并将它们标记为已读

我试图通过 node.js 的 imap-simple 模块获取所有看不见的消息。我可以通过以下代码成功获取标记它们为已读。

如果有不止一封新电子邮件,它可以完美运行。但是,如果收件箱中只有一封新的后续邮件,则代码仅将其标记为已读,但不会阅读邮件。 但是,手动将一封电子邮件标记为未读,然后代码可以读取电子邮件并将其标记为未读。

var config = {
imap: {
    user: 'sd@sdf.com',password: 'dcbfmgh',host: 'imap.gfggdf.com',port: 993,tls: true,authTimeout:3000,tlsOptions: { rejectUnauthorized: false }
      }}; 
       imaps.connect(config).then(function (connection) {
     return connection.openBox('INBox'/*,false*/).then(function () {
    var searchCriteria = ['UNSEEN'];  //UNSEEN
    var fetchOptions = {
        bodies: ['HEADER','TEXT',''],markSeen: true,};
    return connection.search(searchCriteria,fetchOptions).then(function (messages) {
        console.log('reading...');
        messages.forEach(function (item) {
            var all = _.find(item.parts,{ "which": "" })
            var id = item.attributes.uid;
            var idHeader = "Imap-Id: "+id+"\r\n";
            simpleParser(idHeader+all.body,(err,mail) => {
               
                  console.log(mail.from.value[0].address); 
                    
               console.log(mail.subject)
            });
        });
    });
});});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。