1

我的 gmail 中有 2 个用户定义的标签,名为 x & y。我需要检索该特定标签中存在的消息,但要从所有标签中获取数据。

我需要收到的消息正文、标签和日期,并在电子表格中更新

以下是我的代码:


  var ulables = GmailApp.getUserLabels();
  for(var x=0; x < ulables.length; x++){ 
    var threads = GmailApp.getUserLabelByName(ulables[x].getName()).getThreads();

    for (var i = 0; i < threads.length; i++) {    
      var messages = threads[i].getMessages();      
      var label = ulables[x].getName();     
      for (var m = 0; m < messages.length; m++) {        
        var msg     = messages[m].getBody();
        var cmsg    = convertHtmlToText(msg);

        var subject = messages[m].getSubject();
        if(subject == reqSub){
          var recDate = Utilities.formatDate(messages[m].getDate(),"GMT","MM/dd/yyyy");
          if(isDateInRange(recDate, startDate, endDate)){

            var arr =[recDate,label,cmsg];
            mailSheet.getRange(++lastRow, 1,1,3).setValues([arr]).activate();
          }
        }
      }
    }
  }  

例如:- 标签 x 有 10 封电子邮件 标签 y 有 10 封电子邮件 收件箱有 50 封电子邮件

对于每个标签,我会收到 60 封电子邮件,这是问题所在,但我预计会收到 10、10、50 封电子邮件。

从最近两天开始一直在努力,但没有成功。请帮我。提前致谢。


请让我知道详细信息,从上周开始一直在等待。有什么方法可以在不使用线程的情况下获取消息?

4

0 回答 0