Я пытаюсь отправить автоматический список годовщин. мой код не возвращает ошибок, но не отправляет электронные письма - PullRequest
0 голосов
/ 07 мая 2020
function sendAnniversaryCampaing(){
  var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1FkKtSpvwecDEc6of2Nh37ud3qGgcNaK253S7jd7KqB0/edit#gid=0");//  Sheet Url 

  var sheet = ss.getSheetByName("Sheet1");// Make Sure Sheet name matches at the bottom 

  var templateId = '157YoH_ngoESR-pwNUXfFj0dUwDYXBqOd6RCgB_cJVsQ';// the template doc with placeholders

  var cDate = new Date(); //Present Day, 
  for(var i =2 ;i<=sheet.getLastRow(); i++){

    var anDate = sheet.getRange(i,4).getValue(); // Date from SpreadSheet 

    if(cDate.getDate()==anDate.getDate()){

      if(cDate.getMonth()==anDate.getMonth()){

        var name = sheet.getRange(i,2).getValue();

        var toMail= sheet.getRange(i,3).getValue();

        sendMail(sheet,templateId,name,toMail);//sheet doesn't appear to be used in sendMail() Edited by Cooper.

        sheet.getRange(i,5).setValue("Anniversary email sent"); 
      }
    }
  }
}



function sendMail(sheet,templateId,name,toMail){

  var docId = DriveApp.getFileById(templateId).makeCopy('temp').getId();

  var doc = DocumentApp.openById(docId);// the temp copy
  var body = doc.getBody();

  body.replaceText('#name#',name);// update the temp doc
  doc.saveAndClose();// save changes before conversion


  var url = "https://docs.google.com/feeds/download/documents/export/Export?id="+docId+"&exportFormat=html";
  var param = {
    method      : "get",
    headers     : {"Authorization": "Bearer" + ScriptApp.getOAuthToken()}
  };

  var htmlBody = UrlFetchApp.fetch(url,param).getContentText();

  var trashed = DriveApp.getFileById(docId).setTrashed(true);// delete temp copy

  MailApp.sendEmail(toMail,'Anniversary Campaing'+name,' ' ,{htmlBody : htmlBody});// send to myself to test

}

1 Ответ

0 голосов
/ 07 мая 2020

Попробуйте следующее:

function sendAnniversaryCampaing(){
  var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1FkKtSpvwecDEc6of2Nh37ud3qGgcNaK253S7jd7KqB0/edit#gid=0");//  Sheet Url 
  var sheet = ss.getSheetByName("Sheet1");// Make Sure Sheet name matches at the bottom 
  var templateId = '157YoH_ngoESR-pwNUXfFj0dUwDYXBqOd6RCgB_cJVsQ';// the template doc with placeholders
  var cDate = new Date().valueOf(); //Present Day, 
  for(var i=2;i<=sheet.getLastRow(); i++){
    var anDate=new Date(sheet.getRange(i,4).getValue()).valueOf(); // Date from SpreadSheet 
    if(cDate==anDate){
      var name=sheet.getRange(i,2).getValue();
      var toMail= sheet.getRange(i,3).getValue();
      sendMail(sheet,templateId,name,toMail);
      sheet.getRange(i,5).setValue("Anniversary email sent"); 
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...