我目前有一个脚本可以自动回复周末发送的邮件,在最近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();
}
}
}
}
答案 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()?