google-apps-script - 如何让 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 脚本来完成此操作吗?我可以在表单中执行此操作,还是必须在表格中执行此操作?
解决方案
该e.response
对象还包含表单数据,可以使用e.response.getItemResponses()
.
然后要得到问题,请使用getItem().getTitle()
. 要获得答案,请使用getResponse()
.
如果您不需要 HTML 响应,则可以将问题和答案附加到textBody
电子邮件中以显示它们。否则,您必须在email.html
使用HTML 脚本或google.script.run
.
参考:
推荐阅读
- git - 安装 eslint 预提交钩子错误
- kubernetes - 如何在 kubernetes yaml 文件中使用标签,以便系统知道推送了新图像
- c# - 如何合并文本文件并将其嵌入到 C# 代码构建中
- python - 翻转列表中的单词
- php - Laravel hasOneThrough 关系返回 null
- vba - 获取第三方 Outlook COM AddIn 的 API
- c# - ModernUi 图形未显示在应用程序中
- python - HackerRank Plus Minus ~ stdout 无响应 ~
- protocol-buffers - HTTP 请求中的 Protobuf 数据
- cmd - 如何在cmd中调用路径中的变量