我使用sendFormByEmail函数创建Google表单和google应用程序脚本,
我也设置了此功能的表单提交触发器,
我的问题是这个脚本在表单提交上运行两次,我收到两封电子邮件,
我只想在表单提交上发送一封电子邮件.我的脚本代码如下.
var no_repeat=0;
function sendFormByEmail(e){
var email = "test@XXXXDXtest.com";
var s = SpreadsheetApp.getActiveSheet();
var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];
var message = "";
var subject = "Success Assessment";
var total=0;
var roll_on=0;
message+="test massage";
message+="<table cellpadding='3' style='color: #0F1F4C;'>";
for(var i in headers) {
if(headers[i]=='Please enter your email address to receive your results'){
email=e.namedValues[headers[i]].toString();
}
if(headers[i]!='Please enter your email address to receive your results'){
if(headers[i]!='Timestamp'){
if(e.namedValues[headers[i]]!=''){
total = parseInt(e.namedValues[headers[i]])+parseInt(total);
}
message +="<tr >";
message += '<td >'+headers[i]+'</td><td >'+e.namedValues[headers[i]].toString()+ "</td>";
message +="</tr>";
roll_on++;
}
}
}
message +="<tr >";
message += "<td ><b> YOUR SCORE </b></td><td ><b>"+total+"</b></td>";
message+="</tr></table>";
// Send the email
if(email!='' && email!=null){
if(no_repeat==0){
MailApp.sendEmail(email, subject,"",{htmlBody: message});
}
no_repeat++;
}
}
最佳答案 我有同样的问题.问题是两个用户在Google表单上的提交触发器上设置了相同的内容.我作为其中一个用户登录并删除了触发器.我以其他用户身份登录,触发器仍在那里.现在工作完美,只运行一次.