Я уже некоторое время использую это кодирование mailapp и отправляю список людей только на основе EMAIL_SENT в столбце K, подтверждая, что он был отправлен в столбце J. Список длинный, но отправляет только 20 человекза цикл на основе правила для столбца K (формула, отправляемая людям, работающим сегодня).Отлично работал в прошлом.
Теперь, после недавнего переформатирования Google Sheet для моей группы, отправка одного письма занимает 20-30 секунд, и даже не заканчивается список из 20 писем за 6 минут.Мое недавнее переформатирование включает в себя намного больше сценариев в Google Sheet в целом с большим условным форматированием, но не на листе, который подает этот сценарий.
Есть идеи, что так сильно его тормозит?
Спасибо
function MorningEmail() {
var sheet = SpreadsheetApp.getActive().getSheetByName('EarlyEmail');
var startRow = 4;
var numRows = 180;
var dataRange = sheet.getRange(startRow, 1, numRows, 50)
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0]; // First column
var fromName = row[16];
var replyToaddress = row[15];
var message = row[20]+row[21]+row[22]+row[23]+row[24]+row[25]+row[26]+row[27]+row[28]+row[29]+row[30]+row[31]+row[32]+row[33]+row[34]+row[35]+row[36]+row[37]+row[38]+row[39]+row[40]+row[41]+row[42]+row[43]+row[44]+row[45]+row[46]+row[47]+row[48]+row[49];
var emailSent = row[10];
if (emailSent != EMAIL_SENT) {
var subject = row[19];
MailApp.sendEmail(emailAddress, subject, message, {
name: fromName,
replyTo: replyToaddress,
htmlBody: message
});
sheet.getRange(startRow + i, 10).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}