在 Google 表格中捕获 HTML 表单回复并向表单提交者发送确认电子邮件

问题描述 投票:0回答:2

我希望脚本将创建的 html 电子邮件模板 email.html 发送给最后提交表单的人。

以下是我在控制台中收到的成功消息:

Apps Script Console

以下是提交表格的人收到的实际电子邮件:

Email

email.html 格式正确,手动发送时显示完美。

我希望这已经足够代表了。

编辑:如果我包含代码,也许会更容易

function sendEmail () {

var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
var data = ss.getRange(lr,3);
var email = data.getValue();

var message = HtmlService.createTemplateFromFile('email');
var subject = "Test Subject"
GmailApp.sendEmail(email,subject, message);
}
forms google-apps-script google-sheets gmail
2个回答
0
投票

不清楚你为什么使用

HtmlService.createTemplateFromFile
,但从图像中可以清楚地看出至少有一个错误,脚本错过了两个方法:

  • HtmlService.HtmlTemplate.evaluate()
    评估模板化 HTML
  • HtmlService.HtmlOutput.getContent()
    从上一个方法返回的
    HtmlService.HtmlOutput
    对象中获取 HTML。

另一个看起来错误的选项是使用

GmailApp.sendEmail(string,string,string)
方法,因为第三个参数应该是用作电子邮件纯文本内容的字符串。如果你想传递 HTML,请使用
GmailApp.sendEmail(string,string,string, Object)

相关

参考文献


0
投票

这个脚本可以正常工作。 点击这里 或者访问此存储库https://github.com/nasarlalu/html-form-to-google-sheet-with-notification/tree/main

您需要添加一个新的触发器并在其中选择 doPost 函数。并将其部署为新部署。然后使用部署 URL 进行表单提交。

© www.soinside.com 2019 - 2024. All rights reserved.