~ 20% времени мой скрипт приложения Google отправляет дубликаты электронной почты, по-видимому, в случайном порядке.Я попытался переключить MailApp.sendEmail () на GmailApp.sendemail () и добавить несколько спящих строк на случай, если какой-то код снова запустится, прежде чем он сменит лист.У меня есть только один триггер при изменении сценария.Возможно, это связано с тем, на каких устройствах мой gmail вошел в систему?Я очень новичок в этом, поэтому я мог просто упустить что-то очевидное.
Скрипт:
function SortResponse() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("SheetName");
var Avals = sheet.getRange("A1:A").getValues();
var Alast = Avals.filter(String).length;
var range = sheet.getDataRange();
var values = range.getValues();
var lasteq = values[Alast-1][2];
var lastloc = values[Alast-1][3];
var sentbox = values [Alast-1][31];
var questions = 24;
Utilities.sleep(4000);
for (var i = 5; i <= questions; ++i) {
var g = sheet.getRange(Alast,i).getValue();
if (g != 'Good' && g != 'N/A' && g !== "") {
sheet.getRange(2,i).setValue(values[0][i-1]);
}
}
// Send Alert Email.
if (sentbox != "sent") {
var comments = values[Alast-1][25];
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SheetName").getRange("AJ2:AJ20");
var emailAddress = emailRange.getValues();
var msgCell = sheet.getRange('AD1').getValues();
var message = 'Equipment: '+lasteq+'\n at location: '+lastloc+'\n has been noted to need maintenance on: \n \n' +msgCell+'\n'+comments+' \n';
var subject = 'Vehicle Inspection Maintenance Email Notification';
GmailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(Alast,32).setValue("sent");
Utilities.sleep(4000);
sheet.getRange("B2:Z2").clearContent();
}
Utilities.sleep(4000);
sheet.getRange("B2:Z2").clearContent();
}
Триггеры: Триггеры
ДублироватьЭлектронные письма: Дубликаты электронных писем
Изображение электронной таблицы: Изображение электронной таблицы
Спасибо за внимание, любая помощь будет принята с благодарностью.