0

Ich erhalte die Fehlermeldung, wenn ich den Code ausführen:Fehler: „Fehler E-Mail senden: kein Empfänger“

Failed to send email: no recipient

Diese oder eine Kalkulationstabelle google ablaufen wird. Ich gehe davon aus, dass es nach einer E-Mail-Adresse in der Spalte E-Mail-Adresse suchen wird und nachdem es das letzte liest, geht es für die nächste leere Zelle und sieht nichts, dann gibt es einen Fehler.

Wenn dies der Fall ist, wie kann ich damit aufhören, nach E-Mail-Adressen zu suchen, wenn es zum letzten in einer Spalte geht?

Der Fehler ist in Zeile 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(); 
     } 
    } 
    } 
    } 
    } 
} 
} 

Antwort

0

Ihre numRows sollte es getLastRow() Funktion [Ref] anstatt es bis 1000 der Einstellung

+0

Dies ist eingestellt werden! Vielen Dank! –

+0

Froh, dass es geholfen hat :) – Chris