簡體   English   中英

錯誤:“無法發送電子郵件:沒有收件人”

[英]Error: “Failed to send email: no recipient”

運行以下代碼時出現錯誤:

無法發送電子郵件:沒有收件人

這是正在運行或谷歌電子表格。 我假設它將在電子郵件地址列中查找電子郵件地址,在它讀取最后一個地址后,它會查找下一個空白單元格,但什么也沒看到,然后給出錯誤。

如果是這種情況,我怎樣才能讓它在轉到列中的最后一個時停止查找電子郵件地址?

錯誤在第 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM