这是一个执行此操作的Apps脚本。您可以单击此开始脚本链接以在Google云端硬盘中打开脚本编辑器。然后:
- 用下面给出的脚本替换编辑器中的占位符。
- 转到“资源>该项目的触发器”,并将触发器设置为每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 ([5,6,0].indexOf(day) > -1 || (day == 1 && hour < 8) || (day == 4 && hour >= 17)) {
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++) {
threads[i].reply("I am out of office. Your email will not seen until Monday morning.");
}
}
}
该脚本仅在当前本地日期/时间为
- 星期五,星期六,星期日(部分中的5,6,0天
[5,6,0].indexOf(day)
),或
- 星期一,上午8点之前(第1天,小时<8)
- 星期四下午5点之后(第4天,小时> = 17)
它的作用是检查最近5分钟(interval
在脚本中)收到的所有消息,并用罐装文本答复每个消息。
重要的是,两个时间间隔必须匹配:设置触发器的时间间隔和脚本中的一个时间间隔。否则,脚本将无法回复某些消息,或者会回复多次。
备注
您可以尝试每分钟运行一次,而不是每5分钟运行一次。但我不确定这是否会超过一天脚本的最大运行时间(总运行时间1小时)。
我考虑了更复杂的形式:添加标签“自动回复”,或将上次运行时间存储在ScriptProperties中。但是以上内容可以完成工作,并且在简单中胜出。