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

测试 B

如果我在过去 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 的邮件的日期来自您拥有的链接电子表格,因此这部分将由您设置。

为了查询消息,代码使用gsearchq参数指南格式化变量,使用Gmail 搜索运算符,并将数据data从使用getDataRangegetValues方法获得变量插入到您的工作表中。对于我在搜索运算符中看到的内容,没有按时间查询消息的选项,最小值为 1 天。

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章