正在发送 Google 表单回复到提交时的特定电子邮件地址
Sending Google Forms responses to specified e-mail address on Submit
我正在尝试设置 Google 表单,一旦表单提交者点击 "Submit" 按钮,响应不仅会填充到专用电子表格中,还会通过电子邮件发送到特定的邮件组
可能最好的方法是使用 Google 脚本和触发器,包括 "onsubmit"、"Mailapp.sendmail" 函数,但我在这里遇到的问题是:
a)直接从刚刚提交的表格中获得回复
b) 将 "send from" 电子邮件地址(将向邮件组发送电子邮件)更改为提交者的电子邮件
c) 将表单响应与 mailapp.sendmail 函数
连接起来
我试过类似的东西,但它存在上述问题:
function OnSubmit(e) { var formResponses =
FormApp.getActiveForm().getResponses();
Logger.log(formResponses.length);
var formResponse = formResponses[formResponses.length-1];
var itemResponses = formResponse.getItemResponses();
for (var j = 0; j < itemResponses.length; j++) {
var itemResponse = itemResponses[j];
Logger.log('Last response to the question "%s" was "%s"',
itemResponse.getItem().getTitle(),
itemResponse.getResponse());
MailApp.sendEmail ("email@mydoiman.com", "Form Submited " + Date.now(),
FormApp.getActiveForm().getResponses());
}}
非常感谢您的帮助!因为我在这方面完全是业余的。
a) 要在电子邮件中获得答复,您可以这样做:
function sendAnswers(e) {
var items = e.response.getItemResponses();
var emailRespondent = e.response.getRespondentEmail();
var html = "";
for(var i = 0; i< items.length; i++) {
var item = items[i];
html += "<b>"+item.getItem().getTitle()+"</b> : "+ item.getResponse() + "<br>";
}
MailApp.sendEmail("EMAIL_RECIPIENT", "Form answers", "", {htmlBody:html})
}
b) 无法更改电子邮件的 'To'。
c) 是的,我们使用 MailApp 功能。
=> 不要忘记创建触发器以在 onFormSubmit 上具有函数 运行。
=> 在 emailRespondent 中,如果您单击以收集受访者的电子邮件,您将获得提交表单的人的电子邮件。如果您不这样做,请评论该行,即
// var emailRespondent = e.response.getRespondentEmail();
史蒂芬
我正在尝试设置 Google 表单,一旦表单提交者点击 "Submit" 按钮,响应不仅会填充到专用电子表格中,还会通过电子邮件发送到特定的邮件组
可能最好的方法是使用 Google 脚本和触发器,包括 "onsubmit"、"Mailapp.sendmail" 函数,但我在这里遇到的问题是: a)直接从刚刚提交的表格中获得回复 b) 将 "send from" 电子邮件地址(将向邮件组发送电子邮件)更改为提交者的电子邮件 c) 将表单响应与 mailapp.sendmail 函数
连接起来我试过类似的东西,但它存在上述问题:
function OnSubmit(e) { var formResponses =
FormApp.getActiveForm().getResponses();
Logger.log(formResponses.length);
var formResponse = formResponses[formResponses.length-1];
var itemResponses = formResponse.getItemResponses();
for (var j = 0; j < itemResponses.length; j++) {
var itemResponse = itemResponses[j];
Logger.log('Last response to the question "%s" was "%s"',
itemResponse.getItem().getTitle(),
itemResponse.getResponse());
MailApp.sendEmail ("email@mydoiman.com", "Form Submited " + Date.now(),
FormApp.getActiveForm().getResponses());
}}
非常感谢您的帮助!因为我在这方面完全是业余的。
a) 要在电子邮件中获得答复,您可以这样做:
function sendAnswers(e) {
var items = e.response.getItemResponses();
var emailRespondent = e.response.getRespondentEmail();
var html = "";
for(var i = 0; i< items.length; i++) {
var item = items[i];
html += "<b>"+item.getItem().getTitle()+"</b> : "+ item.getResponse() + "<br>";
}
MailApp.sendEmail("EMAIL_RECIPIENT", "Form answers", "", {htmlBody:html})
}
b) 无法更改电子邮件的 'To'。
c) 是的,我们使用 MailApp 功能。
=> 不要忘记创建触发器以在 onFormSubmit 上具有函数 运行。
=> 在 emailRespondent 中,如果您单击以收集受访者的电子邮件,您将获得提交表单的人的电子邮件。如果您不这样做,请评论该行,即
// var emailRespondent = e.response.getRespondentEmail();
史蒂芬