• 主页
  • 在提交Google表单时发送电子邮件

在提交Google表单时发送电子邮件

每当用户向我的谷歌工作表提交谷歌表单时,我都想触发一个OnSubmit函数,使用表单字段中的电子邮件地址自动发送电子邮件回复,并对提交的数据进行“对/错”的验证。由于最新的表单提交数据位于工作表的最后一行,因此我尝试使用以下代码从工作表中提取这两个数据(即使我可以使用电子邮件地址的函数参数)。

我还设置了表单提交事件触发器和电子邮件授权。但是电子邮件似乎不起作用。如果函数被设置为在表单提交时触发,我还需要在脚本编辑器中运行该函数吗?当我尝试单击Run时,代码超过了执行时间。

function OnSubmit(e) {  
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = sheet.getLastRow()-1; 
  var numRows = 1; // Number of rows altogether


  // Fetch the range of cells A(last row):G(last row)
  var dataRange = sheet.getRange(startRow, 1, numRows, 7);

  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (i in data) {
   var row = data[i];
   var emailAddress = row[2];   // Column C of last row
   var message = ""; 
   while(row[6] === "") {     // Delay until data verification is done
     Utilities.sleep(10000);
   }
   var subject = row[6]  // Column G (data verification cell) of last row
   MailApp.sendEmail(emailAddress, subject, message);
  }
}

转载请注明出处:http://www.cxd6.com/article/20230526/1972393.html