如何在提交Google表单时发送电子邮件?

时间:2018-03-17 12:31:25

标签: google-apps-script google-form

如何在提交表单后发送通知电子邮件?

我有一个Google表单,我打开它,然后转到菜单 More->脚本编辑器并添加一个脚本:

function OnSubmit(e) {
  MailApp.sendEmail ("myemail@mydomain.com", "Form Submited: Foo feedback " + Date.now(), "Form Submited: Foo feedback");
}

我保存脚本并按下运行按钮进行测试。电子邮件将发送至 myemail@mydomain.com

然后我填写Google表格,但电子邮件未到达myemail@mydomain.com邮箱。

P.S。 我不想使用"电子邮件通知表格"插件因为它请求访问许多权限。我不想使用" Form Notifications"因为某些原因它对我不起作用(电子邮件无法送达)。

3 个答案:

答案 0 :(得分:2)

最后找到它了,隐藏在下面

  • 编辑表单模式
  • Responses标签
  • ...菜单按钮
  • Get email notifications for new responses

enter image description here

答案 1 :(得分:1)

要发送有关提交的电子邮件,您需要保存此脚本,在脚本编辑器中测试它(当您看到权限弹出窗口时接受),然后提交表单。

该脚本查找提交触发器,如果​​找不到,则会添加一个发送电子邮件的新触发器。

function respondToFormSubmit() {
   MailApp.sendEmail ("email@domain.com", "Form Submited: Foo feedback " + Date.now(), "Form Submited: Foo feedback");
}

var form = FormApp.getActiveForm();
var triggers = ScriptApp.getUserTriggers(form);

var existingTrigger = null;
for (var i = 0; i < triggers.length; i++) {
  if (triggers[i].getEventType() == ScriptApp.EventType.ON_FORM_SUBMIT) {
    existingTrigger = triggers[i];
    break;
  }
}
if (!existingTrigger) {
  var form = FormApp.getActiveForm();
  var trigger = ScriptApp.newTrigger('respondToFormSubmit')
  .forForm(form)
  .onFormSubmit()
  .create();
}

答案 2 :(得分:0)

enter image description here

现在,更简单的方法是使用“工具”下的“通知规则...”项。

enter image description here