Я хочу отправлять электронные письма, когда в листе требуется действие.
Однако этот код отправляет дубликаты электронных писем, несмотря на установку столбца для «отправленных» электронных писем и добавление условия, чтобы не отправлять уже «отправленные» электронные письма. Я думаю, что проблема может заключаться в том, что на создание листа «отправлено» уходит немного больше времени, и в это время отправляется другое письмо, но я не уверен.
function sendHTMLTEMP(arr,x){
var ss =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Current Point
Totals");
var column = ss.getRange('B:B');
var values = column.getValues(); // get all data in one call
var x = 0;
while (values[x][0] != "" ) {
x++;
if(ss.getRange(x,9).getValue() !=='' &&
ss.getRange(x,13).getValue()
!== 'Sent'){
var email = ss.getRange(x,10).getValue();
var expert = ss.getRange(x,2).getValue();
var manager = ss.getRange(x, 4).getValue();
var glm = ss.getRange(x, 11).getValue();
var warning = ss.getRange(x, 9).getValue();
var points = ss.getRange(x,8).getValue();
var admin = ss.getRange(x,12).getValue();
var body = HtmlService.createHtmlOutputFromFile('Warning
Email').getContent().toString();
body = body.replace('%manager%',manager);
body = body.replace('%expert%',expert);
body = body.replace('%warning%',warning);
body = body.replace('%points%', points);
try {
MailApp.sendEmail({
to: email,
cc: glm,
bcc: admin,
subject: 'Action Required on NorthEast Tracker',
htmlBody: body
});
ss.getRange(x, 13).setValue('Sent')
} catch(err)
{}
}}}