如果不是每1小时收到一封来自预期发件人的电子邮件,则发送电子邮件通知的Google Apps脚本



如果我在过去XX天没有收到预期的电子邮件,我已经设法收到了电子邮件通知警报。通过遵循中给出的指南——http://baumbach.com/google-script/它正在按预期工作。

这是javascript代码-

function SearchEmail() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++) {
// "in:all " searches trash and spam email folders. Remove "in:all " + to only search all mail and inbox
var gsearch = "in:all " + "from:(" + data[i][1] + ") to:(" + data[i][2] + ") subject:(" + data[i][3] + ") newer_than:" + data[i][4] + "d";
var threads = GmailApp.search(gsearch, 0, 1);
if (threads.length == 0) {
var emailSubject = "No email in " + data[i][4] + " days: - " + data[i][5];
var emailText = "Note: " + data[i][5] + "rnrnSearch was: " + gsearch;
var emailTo = data[i][0];
MailApp.sendEmail(emailTo, emailSubject, emailText);
}
}
}

但是,我想要的是,如果我在过去1小时而不是几天内没有收到预期的电子邮件,就会收到电子邮件通知警报。

有人能告诉我如何做到这一点吗?我应该在哪里更改代码??提前非常感谢。

编辑

在您提供的链接指南和代码中,用于从Gmail查询消息的日期来自您所拥有的链接电子表格,因此这部分将由您设置。

要查询消息,代码使用gsearch变量,该变量由q参数准则使用Gmail搜索运算符格式化,并在查询中插入来自data变量的数据,该变量是通过使用getDataRange和getValues方法获得的。就我在搜索运算符中看到的情况而言,没有按时间查询消息的选项,最短为1天。

此外,他们解释说,他们设置了一个时间驱动的触发器,每天执行一次SearchEmail函数。对于这一部分,您可以使用everyHours方法创建一个触发器,以每小时执行一次函数。运行以下功能一次以创建触发器:

function createTimeTriger1hour() {
ScriptApp.newTrigger("SearchEmail")
.timeBased()
.everyHours(1)
.create();
}

相关内容

最新更新