Error: "Failed to send email: no recipient"
Error: "Failed to send email: no recipient"
我在 运行 以下代码时遇到错误:
Failed to send email: no recipient
这是 运行 关闭或 google 电子表格。我假设它会在电子邮件地址列中查找电子邮件地址,并且在读取最后一个后,它会转到下一个空白单元格并且没有看到任何内容,然后给出错误。
如果是这种情况,我怎样才能让它在转到一列中的最后一个时停止查找电子邮件地址?
错误在第 18 行:MailApp.sendEmail(emailAddress, subject, message);
var EMAIL_SENT = "EMAIL_SENT";
function sendEmails2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var startRow = 2;
var numRows = 1000;
var sheet = ss.getSheetByName ('Administrators')
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1];
var message = row[28];
var emailSent = row[29];
if (emailSent != EMAIL_SENT) {
var subject = "Tuition Reimbursement Status";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 30).setValue(EMAIL_SENT);
var sheet = ss.getSheetByName ('Teachers')
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1];
var message = row[28];
var emailSent = row[29];
if (emailSent != EMAIL_SENT) {
var subject = "Tuition Reimbursement Status";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 30).setValue(EMAIL_SENT);
var sheet = ss.getSheetByName ('Support Staff')
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1];
var message = row[28];
var emailSent = row[29];
if (emailSent != EMAIL_SENT) {
var subject = "Tuition Reimbursement Status";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 30).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
}
}
}
}
您的 numRows 应该使用 getLastRow()
函数 [Ref] 设置,而不是将其设置为 1000。
解决"Failed to send email: no recipient"
if (emailSent != EMAIL_SENT && emailAddress!="") { // Prevents sending duplicates
我在 运行 以下代码时遇到错误:
Failed to send email: no recipient
这是 运行 关闭或 google 电子表格。我假设它会在电子邮件地址列中查找电子邮件地址,并且在读取最后一个后,它会转到下一个空白单元格并且没有看到任何内容,然后给出错误。
如果是这种情况,我怎样才能让它在转到一列中的最后一个时停止查找电子邮件地址?
错误在第 18 行:MailApp.sendEmail(emailAddress, subject, message);
var EMAIL_SENT = "EMAIL_SENT";
function sendEmails2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var startRow = 2;
var numRows = 1000;
var sheet = ss.getSheetByName ('Administrators')
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1];
var message = row[28];
var emailSent = row[29];
if (emailSent != EMAIL_SENT) {
var subject = "Tuition Reimbursement Status";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 30).setValue(EMAIL_SENT);
var sheet = ss.getSheetByName ('Teachers')
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1];
var message = row[28];
var emailSent = row[29];
if (emailSent != EMAIL_SENT) {
var subject = "Tuition Reimbursement Status";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 30).setValue(EMAIL_SENT);
var sheet = ss.getSheetByName ('Support Staff')
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[1];
var message = row[28];
var emailSent = row[29];
if (emailSent != EMAIL_SENT) {
var subject = "Tuition Reimbursement Status";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 30).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
}
}
}
}
您的 numRows 应该使用 getLastRow()
函数 [Ref] 设置,而不是将其设置为 1000。
解决"Failed to send email: no recipient"
if (emailSent != EMAIL_SENT && emailAddress!="") { // Prevents sending duplicates