如果我在过去 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] + "\r\n\r\nSearch 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();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句