错误:“;发送电子邮件失败:没有收件人"

Error: "Failed to send email: no recipient"

本文关键字:收件人 quot 电子邮件 错误 失败      更新时间:2024-02-11

运行以下代码时出现错误:

发送电子邮件失败:没有收件人

这是正在运行或谷歌电子表格。我假设它会在电子邮件地址列中查找电子邮件地址,在读取最后一个后,它会转到下一个空白单元格,但没有看到任何内容,然后给出一个错误。

如果是这种情况,当它转到列中的最后一个时,我如何让它停止查找电子邮件地址?

错误在第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。

"发送电子邮件失败:没有收件人"的解决方案

if (emailSent != EMAIL_SENT && emailAddress!="") { // Prevents sending duplicates