В основном я использовал Google Sheets для создания трекера счетов, и я хочу отправить электронное письмо с напоминанием каждому из моих клиентов, когда их счет должен быть выставлен. Я уже установил дату и обратный отсчет, и теперь я хочу отправить им письмо с напоминанием, когда значение ячейки достигнет «2», что означает, что прошло 32 дня с тех пор, как я выставил им счет.
Я собрал коды из разных источников в Интернете, а также установил 24-часовой триггер для запуска кода один раз в день. Шаблон электронной почты также на месте. Данные каждого клиента (даты, имена, адреса и т. Д.) Перечислены в отдельных строках.
Моя проблема заключается в том, что вместо отправки одного письма нужному клиенту почтовое приложение отправляет письма всем клиентам, когда у любого из них есть счет-фактура!
Я не уверен, какую функцию или код мне следует использовать.
Я попробовал 'Email_Sent', но ничего с этим не получилось!
function CheckMaturity() {
// Fetch invoice maturity
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('InvoiceTracker').activate();
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
for (var i = 5;i<=10;i++){
var invoiceMaturityRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('InvoiceTracker').getRange(i, 13);
var invoiceMaturity = invoiceMaturityRange.getValue();
// Check invoice maturity
if (invoiceMaturity = 2){
// Fetch the email address
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('InvoiceTracker').activate();
var templateText = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('EmailTemplate').getRange(1,1).getValue();
var currentAddress = ss.getRange(i, 15).getValue();
var currentInvoiceNo = ss.getRange(i, 3).getValue();
var currentInvoiceDate = ss.getRange(i, 4).getValue();
var currentClient = ss.getRange(i, 14).getValue();
var messageBody = templateText.replace('{client}',currentClient).replace('{invoiceNo}',currentInvoiceNo).replace('{invoiceDate}', currentInvoiceDate);
var subjectLine = 'Kind reminder - Invoice status';
MailApp.sendEmail(currentAddress, subjectLine, messageBody);{
SpreadsheetApp.getActiveSpreadsheet().toast('Invoice reminder sent to' +currentClient, 'Reminder sent', -1);
}
}
}
}
Я хочу, чтобы приложение отправляло только одно электронное письмо нужному (соответствующему) клиенту.