如何设置发送链接到 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
)。
我使用 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
)。