如何将 Google Apps 脚本应用于已过滤的电子邮件?
How to apply Google Apps Script to filtered emails?
我目前有一个脚本可以自动回复周末发送的消息,检查过去 5 分钟内是否有未读消息,然后回复并标记为已读。
我想知道是否可以只让这个脚本在特定 folder/filter 中查找未读邮件。这样做的原因是我们有很多不同的电子邮件发送到此框,我们不希望自动回复大多数电子邮件,只是一些已被过滤的电子邮件。
如果无法在过滤器中查看脚本,是否可以只回复符合特定条件的邮件?
这是我当前的脚本,运行 每五分钟:
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();
}
}
}
}
Cat,你试过让你的过滤器应用标签然后使用 getLabels() 吗?
要求:
查找标签内的未读电子邮件。
解决方案:
增强您当前的 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,有很多不同的可能性。
我目前有一个脚本可以自动回复周末发送的消息,检查过去 5 分钟内是否有未读消息,然后回复并标记为已读。
我想知道是否可以只让这个脚本在特定 folder/filter 中查找未读邮件。这样做的原因是我们有很多不同的电子邮件发送到此框,我们不希望自动回复大多数电子邮件,只是一些已被过滤的电子邮件。
如果无法在过滤器中查看脚本,是否可以只回复符合特定条件的邮件?
这是我当前的脚本,运行 每五分钟:
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();
}
}
}
}
Cat,你试过让你的过滤器应用标签然后使用 getLabels() 吗?
要求:
查找标签内的未读电子邮件。
解决方案:
增强您当前的 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,有很多不同的可能性。