フォーム提出のフィールドの1つに基づいて適切な人に電子メールを送信する次のスクリプトがあります。それは適切に働いていますが、新しいエントリーが提出されるたびに複数の電子メールを送信しています。理由はわかりません。誰かが私のコードでこれを修正するために間違っていることを教えてもらえますか?新しいフォーム提出エントリに重複した電子メールを送信
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);
}
}
}
}
あなたのif文で等価のためにテストするために使用==もしくは===を向上させることができました。そうであるように、両方の項目は真であると評価されます。 – ScampMichael
@ScampMichaelはあなたの提案を試みましたが、運がない、それでも複数を送信しています。それは、電子メールの送信先を決定するために新しい行だけをチェックしていないのと同じですが、すべての行をチェックしているかのようです。私はこれをどのように修正するか分からない。 –
email1の数とemail2の数はいくつですか? – ScampMichael