我正在尝试以一种方式设置 Google 表单,一旦表单提交者点击“提交”按钮,响应不仅会填充在专用电子表格中,还会通过电子邮件发送到特定邮件组
可能最好的方法是使用谷歌脚本和触发器,包括“onsubmit”、“Mailapp.sendmail”功能,但我在这里的挣扎是:a)直接从刚刚提交的表单中获取回复 b)更改“发送自”e -mail 地址(将向邮件组发送电子邮件)到提交者的电子邮件 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 protected]", "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) 无法更改电子邮件的“收件人”。
c) 是的,我们使用 MailApp 功能。
=> 不要忘记创建一个触发器来让函数在 onFormSubmit 上运行。
=> 在 emailRespondent 中,如果您单击以收集响应者的电子邮件,则您有提交表单的人的电子邮件。如果你不这样做评论行即
// var emailRespondent = e.response.getRespondentEmail();
斯蒂芬妮
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句