几天后,将邮件移至gmail中的相应文件夹/标签

时间:2019-02-14 15:52:02

标签: google-app-engine gmail gmail-api

我在多个站点上创建了帐户。我已经为gmail中的每个这些网站创建了单独的标签,我想将所有来自这些网站的传入邮件自动移动到相应的标签。为此,我创建了过滤器(seom 150多个过滤器,现在变得难以管理)。但是,筛选器将立即应用于传入的邮件。我希望邮件在收件箱中保留至少三天,这样,当我检查收件箱时,所有未读的邮件都将在那里,并且我不必去各个标签来阅读邮件。例如,我希望每三天移动一次邮件。同样,每三天之后,只有三天以上的邮件才从收件箱移至相应的文件夹/标签。我尝试了以下脚本,并考虑配置一个触发器以每晚执行一次:

function gmailAutoarchive() {

  var log_after_x_days = 3;

  var from_labels_mappings = {
                               flipkart : "backup/websites/flipkart",  //mails from flipkart moved to label backup/websites/flipkart
                               fundsindia : "backup/websites/fundsindia",
                               jagoinvestor: "fin/jagoinvestor" 
                             }

  var date = Utilities.formatDate(new Date(), "GMT+1", "dd");

  if(date % log_after_x_days == 0) 
  {
    for(var [from,label] in from_labels_mappings) {
        var threads = GmailApp.search("in:inbox older_than:2d from:" + from)
        var label = GmailApp.getUserLabelByName(label);

            for (var i = 0; i < threads.length; i++) {
              threads[i].addLabel(label);
              threads[i].moveToArchive();  
            }
    }
  }
}

我相信此脚本可以,但是我不确定,因为我之前从未为Google Apps编写过代码,并且我不想在所有收件箱上都运行此脚本后陷入灾难。有人可以确认这是否正确,是否需要做更多更改?

0 个答案:

没有答案