Ich habe das folgende Skript, das eine E-Mail an die entsprechende Person basierend auf einem der Felder in der Formularübermittlung sendet. Es funktioniert angemessen, aber es sendet jedes Mal mehrere E-Mails, wenn ein neuer Eintrag eingereicht wird, und ich bin nicht sicher warum. Kann mir jemand sagen, was in meinem Code falsch ist, um das Problem zu beheben?Senden von doppelten E-Mails auf neuen Formular-Einreichung Eintrag
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 2; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, 3)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
var email1 = "[email protected]";
var email2 = "[email protected]";
for (i in data) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var subject = "Sending emails from a Spreadsheet";
if (message = "cat") {
MailApp.sendEmail(email1, subject, message);
if (message = "dog") {
MailApp.sendEmail(email2, subject, message);
}
}
}
}
Verwendung == oder === zu testen, für die Gleichwertigkeit in Ihren if-Anweisungen verbessert werden könnte. Wie auch immer, beide Dinge sind wahr. – ScampMichael
@ScampMichael versuchte Ihren Vorschlag, aber kein Glück, es sendet immer noch mehrere. Es ist so, als ob es nicht nur die neue Zeile prüft, um zu bestimmen, wo die E-Mail gesendet werden soll, sondern es werden alle Zeilen geprüft. Ich bin mir nicht sicher, wie ich das beheben soll. –
Wie viele von email1 und wie viele von email2? – ScampMichael