Я использую скрипт Google Aps, который взаимодействует с листом Google, который извлекает и сравнивает некоторые значения при обновлении листа и отправляет электронное письмо, если превышены определенные критерии. Более года он работал без сбоев, но недавно остановился, и я обнаружил, что проблема в новой среде выполнения Chrome V8. Если я запускаю устаревшую среду java - она работает, без проблем.
Сценарий ищет условие, при котором превышается пороговое значение, установленное в электронной таблице, - если это так, он должен отправить электронное письмо. Я доказал, что сценарий определяет условие превышения порога, что он может записывать и читать значения из электронной таблицы и что он может читать и записывать адрес электронной почты из ячейки.
Похоже, что MailApp.sendEmail ( адрес электронной почты, тема, сообщение); не работает Любые предложения с благодарностью.
Сценарий выдержки выглядит следующим образом:
var DP_THRESH1 = doc.getSheetByName("DASHBOARD").getRange("L11"); //THRESHOLD
var DP_THESHOLD1 = DP_THRESH1.getValue();
var DP_SPREAD1 = doc.getSheetByName("DASHBOARD").getRange("H11"); //CALCULATED SPREAD
var DP_LASTSPREAD1 = DP_SPREAD1.getValue();
if (DP_LASTSPREAD1 < DP_THESHOLD1){
// SET TO ZERO IS READY TO EMAIL STATE - THRESHOLD NOT EXCEEDED
doc.getSheetByName("mailSheet").getRange('N2').setValue('0');
}
//EMAIL STATUS = 0 = READY TO EMAIL - 1 = HAVE SENT EMAIL
var EMAIL_status = doc.getSheetByName("mailSheet").getRange("N2");
var EMAIL_oneshot = EMAIL_status.getValue();
if ((DP_LASTSPREAD1 > DP_THESHOLD1) && (EMAIL_oneshot == 0)) {
// IF THRESHOLD EXCEEDED AND NO EMAIL SENT
doc.getSheetByName("mailSheet").getRange('N2').setValue('1');
// Fetch the email address
var emailRange = doc.getSheetByName("mailSheet").getRange("B2");
var emailAddress = emailRange.getValues();
// Send Alert Email.
var message = 'measured value is ' + DP_LASTSPREAD1;
var subject = 'Possible Choke Alert';
MailApp.sendEmail(emailAddress, subject, message);
}