用于触发电子邮件的Google App脚本

时间:2013-02-07 14:56:08

标签: email triggers google-apps-script

如果Google Sheet中的列= X,我正试图收到一封电子邮件,警告我。

我尝试使用通知系统使用EQ运算符在单元格等于X时打开,这会更改单元格,通知系统应该立即发送电子邮件。这不是那种方式,电子邮件永远不会发射。

我认为我需要一个可以触发电子邮件的脚本,如果一个单元格= X会很好,因为我可以自定义电子邮件,因此它更有意义。 (即“您举办活动的会议室已达到容量,您应将其从预订表格中删除”)

我是Google Scripts的新手,如果是cell = X脚本,可以使用一些帮助来创建电子邮件触发器。

谢谢,

戴夫

2 个答案:

答案 0 :(得分:0)

您需要添加一个脚本来运行onEdit。

function onEdit() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("NameOfYourSheet");
  var currentValue = sheet.getRange("A5").getValue();
  if (currentValue == (whateverValueYoureLookingFor)) {
    MailApp.sendEmail("youremail@domain.com", "ALERT: The cell in the sheet is equal to X!", "The message body that you want to send.");
  }
}

答案 1 :(得分:0)

send

这将是触发时的html文件数据(如下所示)。

function testSchemas() {
  var htmlout = HtmlService.createTemplateFromFile('data').evaluate().getContent();

 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('All Exams Tracker');
var range = sheet.getDataRange();
  var values = range.getValues();
  var last_row = sheet.getLastRow();
  var today = new Date()


  for (var i =3 ;i < last_row;i++) {
   var temp = values[i][4];
    var e_date = new Date(temp);
    if ((( e_date - today)/(1000*60*60*24)) < 10 && e_date > today){
      var cond = "done" }
    break; }
Logger.log(cond);  

  if (cond == "done"){


 MailAppv.sendEmail({
    to: '*************************************************************',
     subject: 'Exam Coming Next Week',
    htmlBody: htmlout,
  });

  }}