如何设置发送链接到 Google 表单问卷的自动提醒邮件?

How to set up sending automatic reminder emails linked to a questionnaire on Google Forms?

我使用 Google 表格制作了一份问卷。我有一组电子邮件(例如 respondent1@example.com、respondent2@example.com、...)作为发送问卷的目标。如果他们提交回复,我会收到回复者的电子邮件地址。回复可以保存在 google 电子表格中。 我只想向那些在收到邮件一天后才回复的人发送一封提醒邮件。

我在 script.google.com 中使用以下代码,它可以发送电子邮件并使用 G Suit 开发人员中心中的自定义触发器。但它只是向以下代码中列出的所有电子邮件发送一封提醒电子邮件。如何为其添加满足我所描述内容的条件?

function sendFormEmail() {
var emailAddress = "respondent1@example.com, respondent2@example.com";
var htmlMessage = HtmlService.createHtmlOutputFromFile("Reminder_email.html").getContent();
var subject = "Participation reminder";
var message = "Hi, please be reminded to submit your response";
MailApp.sendEmail(emailAddress, subject, message, {
    htmlBody: htmlMessage
});
}

我设法使用两个电子表格来做到这一点,一个包括所有参与者的电子邮件,另一个用于已参与的参与者(从 Google 表单制作的自动电子表格中提取,当有人提交回复时)

发送提醒邮件的函数如下。它可以使用嵌入在 Google 脚本中的 Google 触发器自动触发。 这是我编写的函数的代码。

function sendRemEmail() 

// Load all the emails from the spreadsheet including all emails in the first column
{
  var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/...').getActiveSheet();
  var All_lr = ss.getLastRow();
  var Alladdresses = [];
  for (var i = 2; i<=All_lr;i++){
    var emailAddress = ss.getRange(i,1).getValue();
    Alladdresses.push(emailAddress);
  }

  // Load emails from the spreadsheet linked to the questionnaire
  var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/...').getActiveSheet();
  var sub_lr = ss.getLastRow();
  var All_submitted_emails = [];
  for (var i = 2; i<=sub_lr;i++){
    var emailAddress = ss.getRange(i,2).getValue();
    All_submitted_emails.push(emailAddress)
  }
  var rem_email_list = [];
  for (var i = 0; i<=All_lr-1;i++){
    if (All_submitted_emails.indexOf(Alladdresses[i])===-1){
      rem_email_list.push(Alladdresses[i]);
    }
  }
  var rem_email_list = rem_email_list.filter(function (el) {
  return el != null;
});
  Logger.log(rem_email_list);
  var htmlMessage = HtmlService.createHtmlOutputFromFile("Reminder_email.html").getContent();
  var subject = "Reminder";
  var message = "Hi, please be reminded to submit your response";
  for (var i = 0; i<rem_email_list.length;i++){
    var emailAddress = rem_email_list[i];
    MailApp.sendEmail(emailAddress, subject, message, {htmlBody: htmlMessage, from:'rzm@example.com', name: 'X Y',replyTo:'rzm@example.com'});
  }
}

我在同一个项目中使用了用 HTML 编写的自定义电子邮件 (htmlMessage)。