如何获取 Google 表单字段值并在 Apps 脚本中使用它来发送电子邮件
How to get Google Form field value and use it in Appscript to send an email
我想获取我在名为“邮件列表”的 Google 表单下拉列表中设置的值。
我想做的是发送一封自定义电子邮件到我 select 的值。
我的表格是这样的:
现在,一旦我 select 一个选项,我想给它发送一封电子邮件。这是我在表单中的 appscript 代码:
function sendEmail(e) {
var html = HtmlService.createTemplateFromFile("email.html");
var htmlText = html.evaluate().getContent();
var emailTo = e.response.getRespondentEmail(); // how do I get the dropdown value here?
Logger.log(emailTo)
var subject = "sample subject";
var textBody = "this is a body";
var options = { htmlBody: htmlText };
if(emailTo !== undefined){
GmailApp.sendEmail(emailTo, subject, textBody, options)
}
}
问题是如何将 emailTo 设置为我在下拉列表中 select 的值?
我的电子表格是这样的:
e.values[1]
values 属性 包含所有随表单提交的响应的数组,其中 e.values[0]
是时间戳,e.values[1 ] 是选择的下拉值
解释:
假设 sendEmail(e)
是表单中的 On form submit
触发器,那么您可以获得第一个响应项(在您的例子中是电子邮件):
var itemResponses = e.response.getItemResponses();
var email = itemResponses[0].getResponse(); // returns the email if given
解决方案:
function sendEmail(e) {
var html = HtmlService.createTemplateFromFile("email.html");
var htmlText = html.evaluate().getContent();
var itemResponses = e.response.getItemResponses();
var emailTo = itemResponses[0].getResponse(); // returns the email if given
var subject = "sample subject";
var textBody = "this is a body";
var options = { htmlBody: htmlText };
if(emailTo !== undefined){
GmailApp.sendEmail(emailTo, subject, textBody, options)
}
}
我想获取我在名为“邮件列表”的 Google 表单下拉列表中设置的值。
我想做的是发送一封自定义电子邮件到我 select 的值。
我的表格是这样的:
现在,一旦我 select 一个选项,我想给它发送一封电子邮件。这是我在表单中的 appscript 代码:
function sendEmail(e) {
var html = HtmlService.createTemplateFromFile("email.html");
var htmlText = html.evaluate().getContent();
var emailTo = e.response.getRespondentEmail(); // how do I get the dropdown value here?
Logger.log(emailTo)
var subject = "sample subject";
var textBody = "this is a body";
var options = { htmlBody: htmlText };
if(emailTo !== undefined){
GmailApp.sendEmail(emailTo, subject, textBody, options)
}
}
问题是如何将 emailTo 设置为我在下拉列表中 select 的值?
我的电子表格是这样的:
e.values[1]
values 属性 包含所有随表单提交的响应的数组,其中 e.values[0]
是时间戳,e.values[1 ] 是选择的下拉值
解释:
假设 sendEmail(e)
是表单中的 On form submit
触发器,那么您可以获得第一个响应项(在您的例子中是电子邮件):
var itemResponses = e.response.getItemResponses();
var email = itemResponses[0].getResponse(); // returns the email if given
解决方案:
function sendEmail(e) {
var html = HtmlService.createTemplateFromFile("email.html");
var htmlText = html.evaluate().getContent();
var itemResponses = e.response.getItemResponses();
var emailTo = itemResponses[0].getResponse(); // returns the email if given
var subject = "sample subject";
var textBody = "this is a body";
var options = { htmlBody: htmlText };
if(emailTo !== undefined){
GmailApp.sendEmail(emailTo, subject, textBody, options)
}
}