I created a script to send emails with calculated information from a sheet. The script works beautifully when run manually. I would like this to trigger every minute, but when I try to create any kind of time-based trigger, I get an error where it says there is no recipient. I have made sure there are new entries that should get emails, but it won't work until I manually run the script. I don't know what to post code-wise, because the code works fine. It just won't run when a trigger starts it.
EDIT: Scripts below:
function minuteTrigger() {
ScriptApp.newTrigger('sendEmails')
.timeBased()
.everyMinutes(1)
.create();
}
This is the email script:
var EMAIL_SENT = 'EMAIL_SENT';
function sendEmails() {
SpreadsheetApp.flush();
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 1000;
var dataRange = sheet.getRange(startRow, 1, numRows, 9);
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1];
var message = row[7];
var emailSent = row[8];
if (emailSent !== EMAIL_SENT) {
var subject = 'Your Tacoma Lap Results';
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 9).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}