如何在Google表单提交时自动发送来自提交表单的人而不是Google表单所有者的电子邮件?



当某人(经过授权而不是我自己)提交了我创建的Google表单并向他们想要的任何人发送电子邮件后,它显示是我(Google表单所有者)自己发送的。是否有办法删除我的电子邮件,并显示提交表格的人的电子邮件?

这是Apps Script

中的代码
function onFormSubmit(e) {
let responses = e.namedValues;
MailApp.sendEmail({
to: responses['Email'],
subject: responses['Subject'],
htmlBody: responses['Message'],
});
}

我相信这可能涉及到使用谷歌云项目和API,但我几乎没有经验。

出现问题是因为您的脚本使用了可安装的触发器和Google Apps script Mail服务,因为脚本是使用创建触发器的用户的凭据运行的,在本例中是您。

为了使用表单提交者的电子邮件地址作为发件人发送电子邮件,一个选项是使用

  1. 来自同一域的Google Workspace帐户
  2. 服务帐户
  3. 全域授权

作为表单提交者可能有其他发送电子邮件的选项,但所有考虑使用Google Forms的选项看起来都很繁琐。

一个更简单的选择,仍然使用Google Apps Script,是创建一个web应用程序,并将其设置为在用户访问web应用程序时运行。

避免将电子邮件地址显示为发件人的更简单的解决方案是改变方法:使用具有通用名称的别名。要做到这一点,给你的Gmail帐户添加一个别名,使用GmailApp而不是MailApp,并设置脚本使用别名而不是你的电子邮件地址。

最新更新