如何将Google Apps脚本应用于过滤的电子邮件?

时间:2019-06-10 16:19:49

标签: google-apps-script gmail

我目前有一个脚本可以自动回复周末发送的邮件,在最近5分钟内检查未读邮件,然后回复并标记为已读。

我想知道是否可能只让该脚本查找特定文件夹/过滤器内的未读邮件。原因是我们有很多不同的电子邮件发送到此框,并且我们不希望自动答复大多数已过滤的电子邮件,只是一些。

如果无法在过滤器中查找脚本,是否可以只回复符合特定条件的邮件?

这是我已有的当前脚本,每五分钟运行一次:

function autoReply() {
var interval = 5;    //  if the script runs every 5 minutes; change otherwise
  var date = new Date();
  var day = date.getDay();
  var hour = date.getHours();
  if ([6,0].indexOf(day) > -1 || (day == 1 && hour < 10) || (day == 5 && hour >= 15)) {
    var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
    var threads = GmailApp.search('is:inbox after:' + timeFrom);
    for (var i = 0; i < threads.length; i++) {
      if (threads[i].isUnread()){
      threads[i].reply("Thank you for reaching CTGINC. Your email is very important to us, one of our customer service experts will respond within the next 24-48 hours. Thank you!");
      threads[i].markRead();
      threads[i].markImportant();
      }
    }
  }
}

2 个答案:

答案 0 :(得分:2)

要求:

在标签内查找未读电子邮件。


解决方案:

增强您当前的GmailApp.search()查询以包括此条件。


示例:

//replace "labelname" with the name of your label
var threads = GmailApp.search('in:labelname is:unread after:' + timeFrom);

说明:

您可以在查询中看到,它只是在特定标签内寻找在var timeFrom之前未被读取和接收的线程。

GmailApp.search()使用与Gmail顶部搜索栏相同的搜索运算符。值得一读here,其中有很多可能性。

答案 1 :(得分:-1)

猫,您是否想让过滤器应用标签,然后使用getLabels()?