基本上,我使用 Google 表格创建了一个发票跟踪器,并且我想在他们的发票到期时向我的每个客户发送一封提醒电子邮件。我已经设置了日期和倒计时,现在我想在单元格值达到“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);
}
}
}
}
我希望该应用程序仅向正确的(相关)客户端发送一封电子邮件。