首页 > 解决方案 > 如何让 Google 表单发送带有新回复的自动电子邮件

问题描述

我有一个 Google 表单,我想在提交新回复时自动向某人发送电子邮件。到目前为止,我只有一个简单的 HTML 页面,正文中有文本,但是我希望电子邮件内容也包含表单数据。

目前,这是我写的:

function sendEmail(e) {


  //response
  var html = HtmlService.createTemplateFromFile("email.html");
  var htmlText = html.evaluate().getContent();

  var emailTo = "jeffreyabr@gmail.com"
  var subject = "New SAP Role Request"
  var textBody = "This email requires HTML support. Please make sure you open it with an email client that supports HTML"
  var options = {htmlBody: htmlText};


  GmailApp.sendEmail(emailTo, subject, textBody, options);

这来自遵循这个基本的 YouTube 教程

我可以添加更多 Google Apps 脚本来完成此操作吗?我可以在表单中执行此操作,还是必须在表格中执行此操作?

标签: google-apps-scriptgoogle-sheetsgoogle-forms

解决方案


e.response对象还包含表单数据,可以使用e.response.getItemResponses().

然后要得到问题,请使用getItem().getTitle(). 要获得答案,请使用getResponse().

如果您不需要 HTML 响应,则可以将问题和答案附加到textBody电子邮件中以显示它们。否则,您必须在email.html使用HTML 脚本google.script.run.

参考:

事件对象 | onFormSubmit(e)

类表单响应


推荐阅读