email - Google Form 邮件通知脚本。电子邮件始终将“我”作为发件人
问题描述
我尝试使用搜索功能,但没有找到解决我的问题的方法,或者我还不够了解。
我为谷歌表单编写了一个脚本,当用户提交表单时,它会自动向两个电子邮件地址发送一封电子邮件。我已经构建了一些应该在电子邮件主题中显示的信息,并将表单中的输入放入电子邮件中,并带有一些简单的 HTML 格式。
我的问题是,电子邮件始终将我的电子邮件地址作为发件人(我用于创建表单的帐户)我希望发件人的电子邮件,即提交表单的那个。这怎么可能?
这是代码:
function sendFormByEmail(e)
{
// Sent to Email address
var email1 = "123@abc.com";
var email2 = "345@abc.com";
// Variables
var s = SpreadsheetApp.getActiveSheet();
var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];
var txt = "";
var subject = "Example text: ";
// Var e = form input as array.
// Loop through the array.
for(var i in headers){
txt += "<b>" + headers[i] + '</b>' + ': '+
e.namedValues[headers[i]].toString() + '<br><br>';
}
// Insert variables from the spreadsheet into the subject.
// Create email subject
subject += "Example text " + e.namedValues[headers[2]].toString();
// Send the email
MailApp.sendEmail(email1, subject, "", {htmlBody:txt});
MailApp.sendEmail(email2, subject, "", {htmlBody:txt});
}
解决方案
由于脚本是从用户帐户运行的,因此无法以提交表单的用户身份发送邮件,并且 mailapp 将仅从该帐户发送邮件。您可以通过参数名称根据提交表单的用户名更改显示名称。您还可以通过在 mailApp 语法中添加参数noReply将电子邮件更改为 noreply@domainName.com。但是,您不能将其更改为提交表单的用户
您可以参考本文档了解上述参数:https ://developers.google.com/apps-script/reference/mail/mail-app
希望这可以帮助
推荐阅读
- html - 如何使带有斜率的html div边缘?
- mysql - SQL 获取聊天通知
- php - 我的联系表单保管箱验证 php 或 javascript 中缺少某些内容
- ruby-on-rails - 如何向 ActiveStorage blob 添加喜欢和评论
- web-applications - 谷歌驱动编辑历史是如何实现的?
- xquery - 在 BaseX 中使用 XQuery XQUF 在一个函数中进行未知/可变数量的更新时不会出现更新表达式错误
- ms-access - MS Access 查询不可更新
- docker - 更改 Kubernetes 集群的主 IP 地址
- java - kotlin 中的数据绑定 TypeConverter 错误
- google-cloud-ml - 如何在 Cloud ML Engine 中为作业指定更多内存