Java 我的谷歌脚本正在向收件人发送重复的电子邮件。我需要它只发送一封电子邮件

Java 我的谷歌脚本正在向收件人发送重复的电子邮件。我需要它只发送一封电子邮件,java,html,google-apps-script,html-email,Java,Html,Google Apps Script,Html Email,我正在用谷歌脚本编写代码,以便在提交谷歌表单时向四个不同的地址发送电子邮件。结果是,电子邮件发送到每个地址,但一式两份。我的上一次试用向每个地址发送12封电子邮件 我已经在Google脚本中设置了触发器,以便在提交Google表单时执行 我试着把这些电子邮件放在一个分散的区域,并在列表中循环 我已经用电子邮件地址创建了一个数组,并用这个数据创建了一个循环 所有尝试都会导致相同的重复问题 enter code here var ss = SpreadsheetApp.getActiveSprea

我正在用谷歌脚本编写代码,以便在提交谷歌表单时向四个不同的地址发送电子邮件。结果是,电子邮件发送到每个地址,但一式两份。我的上一次试用向每个地址发送12封电子邮件

我已经在Google脚本中设置了触发器,以便在提交Google表单时执行

我试着把这些电子邮件放在一个分散的区域,并在列表中循环

我已经用电子邮件地址创建了一个数组,并用这个数据创建了一个循环

所有尝试都会导致相同的重复问题

enter code here

var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ContactInformation");
var ssStaff = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("StaffInformation");

var lastRowResponse = ss.getLastRow();Logger.log("lastRowResponse = " + lastRowResponse);



Logger.log("Get the current Date and Time"); // Title Logger.log Satament
var CurrentTimeStamp = ss.getRange("A"+lastRowResponse).getValue(); Logger.log("CurrentTimeStamp = " + CurrentTimeStamp);// Define CurrentTimeStamp as the Time Submitted
var GetDayNumber = CurrentTimeStamp.getDay();Logger.log("GetDayNumber = " + GetDayNumber);// Get the day number 

var weekday = new Array(7);
                  weekday[0] = "Sunday";
                  weekday[1] = "Monday";
                  weekday[2] = "Tuesday";
                  weekday[3] = "Wednesday";
                  weekday[4] = "Thursday";
                  weekday[5] = "Friday";
                  weekday[6] = "Saturday";


var DayName = weekday[GetDayNumber];Logger.log("DayName = " + DayName);// Get the day Name


var monthNames = [
    "January", "February", "March",
    "April", "May", "June", "July",
    "August", "September", "October",
    "November", "December"
  ];

  var day = CurrentTimeStamp.getDate();
  var monthIndex = CurrentTimeStamp.getMonth();
  var year = CurrentTimeStamp.getFullYear();

var FullDate = DayName + ", " + monthNames[monthIndex] + " " + day + ", " + year;Logger.log("FullDate = " + FullDate);// Get the FullDate




ss.getRange("F"+lastRowResponse).setValue("no"); Logger.log("Email1Sent = " + ss.getRange("F"+lastRowResponse).getValue());
ss.getRange("G"+lastRowResponse).setValue("no"); Logger.log("Email2Sent = " + ss.getRange("G"+lastRowResponse).getValue());
ss.getRange("H"+lastRowResponse).setValue("no"); Logger.log("Email3Sent = " + ss.getRange("H"+lastRowResponse).getValue());
ss.getRange("I"+lastRowResponse).setValue("no"); Logger.log("Email4Sent = " + ss.getRange("I"+lastRowResponse).getValue());


var Name = ss.getRange("B"+lastRowResponse).getValue(); Logger.log("Name = " + Name);// Name given on Contact Form
var Email = ss.getRange("C"+lastRowResponse).getValue(); Logger.log("Email = " + Email);// Email given on Contact Form
var Subject = ss.getRange("D"+lastRowResponse).getValue(); Logger.log("Subject = " + Subject);// Subject given on Contact Form
var EmailBody = ss.getRange("E"+lastRowResponse).getValue(); Logger.log("EmailBody = " + EmailBody);// EmailBody given on Contact Form

var OrganizerSignature = ssStaff.getRange("A2").getValue() + " and " + ssStaff.getRange("A3").getValue() + ", TEDxBlaine Organizers";

var OrganizerEmail1 = ssStaff.getRange("B2").getValue();
var OrganizerEmail2 = ssStaff.getRange("B3").getValue();

var ReasonSummaryHTML = "<html><head><style>img {width: 100%;}</style></head>"+
"<body lang=EN-US style='tab-interval:.5in'>"+
"<div class=WordSection1>"+
"<p class=MsoNormal align=center style='text-align:center'><img src='https://lh3.googleusercontent.com/rzeA4cr5onMbWoPYdKOEKXBYWXTB40Dw5lzws5I7hEZD5t0mu0DpdPTNLgNVVTUbohrMd9IHq46kl03WSai9QGO-WATFS83qEwhNdzOVrplCmGIrxUO_5kr1hHHOUZ_LjB-xSk9F5pevJk7FJSqkAgHfScuZmKZGGkXU_knjkUZZl-SgAmCQZMTxDRZTbX4MQgXU6aUyE4EZAWn-9xQHnINQ86jSIR4cYP8-BKTEwXJWoVQc-S3IM9KlhLhf6aOOUUEdRBkgX_52GphmfPxKNQexywFXFx2ZHiRIf2kdVWBRzcCzWJ3ORbVbpaLPF-xkr5JbrkpEkifkZmleZy8-sMRAqL7LJKwLlPWcfbLyGGwY183PBooo94u_ptJmkb4fqzQvg5p0d4yFzGaDOGcGnyz6UXSsfjQKgg2MmHfMvsGjDVDzgXpxv4VwM2iES0ttW94jY4xO4w4TM-3Asmsx626vertCqpYAvWaY-D_BsK11FvScFBwxpbmueFotxTIihTj7s1DCV2-ySQJQ0hMw5WXQr01K-VVSZ8SdchH4zQO7H5Q2BLDZwDeisZqUZc7ZN_zFyXNIDuJlxS4p8eWeOy_wrhobjjopYSfJLGVlKiliF6GfgUGpFKnSOjuuQh4nVYRyeR7TUE_ZMD5dhg2taGEjyHQl1yE=w1920-h691-no' style='width:50%;'><o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Thank you for your interest in <span class=SpellE><span"+
"style='color:red'>TEDx</span>Blaine. We have received the following"+
" email from you.<o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'><o:p>&nbsp;</o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Date: "+ FullDate +"<o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Name:<span style='mso-spacerun:yes'>  </span>"+ Name +"<o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Email: "+ Email +"<o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Subject: "+ Subject +"<o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'><o:p>&nbsp;</o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>"+ EmailBody +"<o:p></o:p></span></p>"+
"<p class=MsoNormal><o:p>&nbsp;</o:p></p>"+
"<p class=MsoNormal><o:p>&nbsp;</o:p></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Thank you,<o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>"+ OrganizerSignature +"<o:p></o:p></span></p>"+
"<p class=MsoNormal align=center style='text-align:left'><img src='https://lh3.googleusercontent.com/J0LXjs3rBzFsSUTahPNexSC6URFJfxKnLynliJ24n24VkM0eMI52YhwiHaPB78XlCAcBpc0ptTrB5IG2VEEtzdjDOfnAGvM8NDJbP8uPS40klLf8JtzOwpvqJHaNzKsVmSXOZ6o8outl5sI8SPJ8or2ciA7CHwTugThxfwgUXS_9zv6rwfyKudEGqZbnXpJ-sXp3yHenG2ivkFNBv54QDFyHOJeUoS-0yRhZXe4e7mNWTq1-fKb9UYI0zbw5dk6sUX61UlMGReHYaSbUnvsccStpzHYnZ9xlQ44Pkbtvf7B2ghf8Y0XfMbaOnWlNixxeI7Dz9ugZMbvKcPhCQnsAFHv4QBcnACWoQ4zCskbSD7SamheLd0_fa2zRzRKW8sMno8NjJN5dfDNL6PKqS3tEgl4BmFBOay-rrAn8NCovepAozBeiqLZm3oXT_3c7Bi_cN6x8nRTW82DU4y3La0NAO6UltgGniNA-mIW1GlHhTVDnIXTosvwAOAjK6sekUtzW91Nkc23sGRb113uqLRjvZFLoU3jkksxvaJggpBHeH5PyZIDnJsIQyzpGHJ-bHVEwa7mmtst_3o13vfv1zHYn2uWdru88hDMlywE_azNyRWRf24a2vI66uRgN4fDeFruOKxyCjZPW9mZd_wnxRvGxFOyC_DhOZ8w=w314-h86-no' style='width:10%;'><o:p></o:p></span></p>"+
"</div></body></html>";



var ReasonSummaryHTML2 = "<html><head><style>img {width: 100%;}</style></head>"+
"<body lang=EN-US style='tab-interval:.5in'>"+
"<div class=WordSection1>"+
"<p class=MsoNormal align=center style='text-align:center'><img src='https://lh3.googleusercontent.com/rzeA4cr5onMbWoPYdKOEKXBYWXTB40Dw5lzws5I7hEZD5t0mu0DpdPTNLgNVVTUbohrMd9IHq46kl03WSai9QGO-WATFS83qEwhNdzOVrplCmGIrxUO_5kr1hHHOUZ_LjB-xSk9F5pevJk7FJSqkAgHfScuZmKZGGkXU_knjkUZZl-SgAmCQZMTxDRZTbX4MQgXU6aUyE4EZAWn-9xQHnINQ86jSIR4cYP8-BKTEwXJWoVQc-S3IM9KlhLhf6aOOUUEdRBkgX_52GphmfPxKNQexywFXFx2ZHiRIf2kdVWBRzcCzWJ3ORbVbpaLPF-xkr5JbrkpEkifkZmleZy8-sMRAqL7LJKwLlPWcfbLyGGwY183PBooo94u_ptJmkb4fqzQvg5p0d4yFzGaDOGcGnyz6UXSsfjQKgg2MmHfMvsGjDVDzgXpxv4VwM2iES0ttW94jY4xO4w4TM-3Asmsx626vertCqpYAvWaY-D_BsK11FvScFBwxpbmueFotxTIihTj7s1DCV2-ySQJQ0hMw5WXQr01K-VVSZ8SdchH4zQO7H5Q2BLDZwDeisZqUZc7ZN_zFyXNIDuJlxS4p8eWeOy_wrhobjjopYSfJLGVlKiliF6GfgUGpFKnSOjuuQh4nVYRyeR7TUE_ZMD5dhg2taGEjyHQl1yE=w1920-h691-no' style='width:50%;'><o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'><o:p>&nbsp;</o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Date: "+ FullDate +"<o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Name:<span style='mso-spacerun:yes'>  </span>"+ Name +"<o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Email: "+ Email +"<o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Subject: "+ Subject +"<o:p></o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'><o:p>&nbsp;</o:p></span></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>"+ EmailBody +"<o:p></o:p></span></p>"+
"<p class=MsoNormal><o:p>&nbsp;</o:p></p>"+
"<p class=MsoNormal><o:p>&nbsp;</o:p></p>"+
"<p class=MsoNormal><span style='font-size:12.0pt;line-height:107%;font-family:"+
"Helvetica'>Thank you,<o:p></o:p></span></p>"+
"<p class=MsoNormal align=center style='text-align:left'><img src='https://lh3.googleusercontent.com/J0LXjs3rBzFsSUTahPNexSC6URFJfxKnLynliJ24n24VkM0eMI52YhwiHaPB78XlCAcBpc0ptTrB5IG2VEEtzdjDOfnAGvM8NDJbP8uPS40klLf8JtzOwpvqJHaNzKsVmSXOZ6o8outl5sI8SPJ8or2ciA7CHwTugThxfwgUXS_9zv6rwfyKudEGqZbnXpJ-sXp3yHenG2ivkFNBv54QDFyHOJeUoS-0yRhZXe4e7mNWTq1-fKb9UYI0zbw5dk6sUX61UlMGReHYaSbUnvsccStpzHYnZ9xlQ44Pkbtvf7B2ghf8Y0XfMbaOnWlNixxeI7Dz9ugZMbvKcPhCQnsAFHv4QBcnACWoQ4zCskbSD7SamheLd0_fa2zRzRKW8sMno8NjJN5dfDNL6PKqS3tEgl4BmFBOay-rrAn8NCovepAozBeiqLZm3oXT_3c7Bi_cN6x8nRTW82DU4y3La0NAO6UltgGniNA-mIW1GlHhTVDnIXTosvwAOAjK6sekUtzW91Nkc23sGRb113uqLRjvZFLoU3jkksxvaJggpBHeH5PyZIDnJsIQyzpGHJ-bHVEwa7mmtst_3o13vfv1zHYn2uWdru88hDMlywE_azNyRWRf24a2vI66uRgN4fDeFruOKxyCjZPW9mZd_wnxRvGxFOyC_DhOZ8w=w314-h86-no' style='width:10%;'><o:p></o:p></span></p>"+
"</div></body></html>";





MailApp.sendEmail(Email, Subject, "--", {'noReply':true, 'htmlBody': ReasonSummaryHTML});
MailApp.sendEmail("TEDxBlaine@Gmail.Com", Subject, "--", {'noReply':true, 'htmlBody': ReasonSummaryHTML2});
MailApp.sendEmail(OrganizerEmail1, Subject, "--", {'noReply':true, 'htmlBody': ReasonSummaryHTML2});
MailApp.sendEmail(OrganizerEmail2, Subject, "--", {'noReply':true, 'htmlBody': ReasonSummaryHTML2});
在此处输入代码
var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“联系人信息”);
var ssStaff=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“StaffInformation”);
var lastrowsresponse=ss.getLastRow();Logger.log(“lastRowResponse=“+lastRowResponse”);
Logger.log(“获取当前日期和时间”);//Title Logger.log satation
var CurrentTimeStamp=ss.getRange(“A”+lastRowResponse.getValue();Logger.log(“CurrentTimeStamp=“+CurrentTimeStamp”);//将CurrentTimeStamp定义为提交的时间
var GetDayNumber=CurrentTimeStamp.getDay();Logger.log(“GetDayNumber=“+GetDayNumber”);//获取日数
var weekday=新数组(7);
工作日[0]=“周日”;
工作日[1]=“周一”;
工作日[2]=“星期二”;
工作日[3]=“星期三”;
工作日[4]=“周四”;
工作日[5]=“周五”;
工作日[6]=“周六”;
var DayName=工作日[GetDayNumber];Logger.log(“DayName=“+DayName”);//获取日期名称
var monthNames=[
“一月”、“二月”、“三月”,
“四月”、“五月”、“六月”、“七月”,
“八月”、“九月”、“十月”,
“11月”、“12月”
];
var day=CurrentTimeStamp.getDate();
var monthIndex=CurrentTimeStamp.getMonth();
var year=CurrentTimeStamp.getFullYear();
var FullDate=DayName+,“+月[月]日+”,“+日+”,“+年;Logger.log(“FullDate=“+FullDate);//获取完整日期
ss.getRange(“F”+lastRowResponse).setValue(“否”);Logger.log(“Email1Sent=“+ss.getRange”(“F”+lastRowResponse.getValue());
ss.getRange(“G”+lastRowResponse).setValue(“否”);Logger.log(“Email2Sent=“+ss.getRange”(“G”+lastRowResponse.getValue());
ss.getRange(“H”+lastRowResponse).setValue(“否”);Logger.log(“Email3Sent=“+ss.getRange”(“H”+lastRowResponse.getValue());
ss.getRange(“I”+lastRowResponse).setValue(“否”);Logger.log(“Email4Sent=“+ss.getRange”(“I”+lastRowResponse.getValue());
var Name=ss.getRange(“B”+lastRowResponse).getValue();Logger.log(“Name=”+Name);//联系方式上的姓名
var Email=ss.getRange(“C”+lastRowResponse).getValue();Logger.log(“Email=”+Email);//在联系表格中给出的电子邮件
var Subject=ss.getRange(“D”+lastRowResponse).getValue();Logger.log(“Subject=”+Subject);//联系方式上给出的主题
var EmailBody=ss.getRange(“E”+lastRowResponse).getValue();Logger.log(“EmailBody=“+EmailBody);//电子邮件正文在联系表格中给出
var OrganizerSignature=ssStaff.getRange(“A2”).getValue()+”和“+ssStaff.getRange(“A3”).getValue()+”,TEDxBlaine Organizers”;
var OrganizerEmail1=ssStaff.getRange(“B2”).getValue();
var OrganizerEmail2=ssStaff.getRange(“B3”).getValue();
var ReasonSummaryHTML=“img{width:100%;}”+
""+
""+
“

”+ “

感谢您对TEDxBlaine的兴趣。我们收到以下邮件”+ “您的电子邮件。

”+ “

”+ “

日期:+FullDate+”

”+ “

名称:“+Name+”

”+ “

电子邮件:“+Email+”

”+ 主题:“+Subject+”

”+ “

”+ “

”+EmailBody+“

”+ “

”+ “

”+ “

谢谢,

”+ “

”+OrganizerSignature+“

”+ “

”+ ""; var ReasonSummaryHTML2=“img{width:100%;}”+ ""+ ""+ “

”+ “

”+ “

日期:+FullDate+”

”+ “

名称:“+Name+”

”+ “

电子邮件:“+Email+”

”+ 主题:“+Subject+”

”+ “

”+ “

”+EmailBody+“

”+ “

”+ “

”+ “

谢谢,

”+ “

”+ ""; sendmail(电子邮件,主题,“-”,{'noReply':true,'htmlBody':ReasonSummaryHTML}); MailApp.sendEmail(“TEDxBlaine@Gmail.Com,主题,“-”,{'noReply':true,'htmlBody':ReasonSummaryHTML2}); sendmail(OrganizerEmail1,主题,“-”,{'noReply':true,'htmlBody':ReasonSummaryHTML2}); sendmail(OrganizerEmail2,主题,“-”,{'noReply':true,'htmlBody':ReasonSummaryHTML2});

我希望每个电子邮件地址在谷歌表单上每次提交都能收到一封电子邮件

你是怎么扣动扳机的?使用脚本编辑器以编程方式还是手动方式?我要求确保您没有设置多个触发器?我设置了要在表单提交上执行的触发器。此表单只有一个触发器。快速浏览一下,我看不到任何会导致在脚本中发送重复邮件的内容。(也就是说,没有循环。)我在过去使用“On Form Submit”触发器时遇到过很多问题。我的建议是建立一个标志系统,它处理行并检查标志值。(若标志==“已发送邮件”不处理行,则转到下一行。)这很好。最后,我在每个新设置的数据之后填充一个“sent”值,并在执行Email.app命令之前检查该值。非常感谢。很高兴见到你。(考虑到