При использовании библиотек в скрипте приложения возникает недействительная электронная почта: неопределенная ошибка, но если бы я использовал код библиотеки напрямую, это нормально - PullRequest
0 голосов
/ 02 мая 2019

При использовании сохраненных версий и библиотек возникает ошибка «Неверный адрес электронной почты: неопределенный». Это происходит в строке, где письма вообще не пишутся. Это происходит с каждой библиотекой.

Я попытался записать переменные электронной почты в контейнере. Наличие действительного адреса электронной почты во всех переменных в каждой библиотеке.

Скрипт в контейнере привязан.

function autoRun(){

  Part1.sendEmail()
  Part2.sendEmail()
  Part3.sendEmail()
  Part4.sendEmail()
  Part5.sendEmail()

}

Сохраненная библиотека (часть1) (все остальные части аналогичны этой)

function sendEmail() {

  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var QA = ss.getSheetByName("Quality Alert");
  var QAdata = QA.getRange(3,1,QA.getLastRow() - 2,25).getValues(); 
  QAdata.forEach(function(row, i){

               var customer = row[1] ;
               var part     = row[2] ;
               var s        = row[3] ;
               var id       = row[4] ;
               var defect   = row[5] ;
               var desc     = row[6] ;
               var reject   = row[7] ;
               var ok       = row[8] ; 
               var chemA    = row[9] ; 
               var chemB    = row[10] ; 
               var chemC    = row[11] ; 
               var et       = row[12] ; 
               var fee      = row[13] ; 
               var cam      = row[14] ;
               var fqa      = row[15] ; 
               var inner    = row[16] ; 
               var ipqc     = row[17] ; 
               var legend   = row[18] ; 
               var lpsm     = row[19] ; 
               var mlb      = row[20] ; 
               var photo    = row[21] ; 
               var routing  = row[22] ; 
               var drilling = row[23] ; 
               var answer   = row[24] ;  

  var test_mail     = "testmail" ;
  var chemA_mail    = "testmail" ;
  var chemB_mail    = "testmail" ; 
  var chemC_mail    = "testmail" ; 
  var et_mail       = "testmail" ; 
  var fee_mail      = "testmail" ;
  var cam_mail      = "testmail" ;
  var fqa_mail      = "testmail" ; 
  var inner_mail    = "testmail" ; 
  var ipqc_mail     = "testmail" ; 
  var legend_mail   = "testmail" ; 
  var lpsm_mail     = "testmail" ; 
  var mlb_mail      = "testmail" ; 
  var photo_mail    = "testmail" ; 
  var routing_mail  = "testmail" ; 
  var drilling_mail = "testmail" ;
  var all_mail      = "testmail" ;    

  var body = "testinfo";

  // Only rows with data will send out an email               
  if(customer == '')
  {
  }

  // Only send email if "email sent out" column is blank
  else if(answer == '')
  {

 // Send if chemA & fee & fqa & ipqc & lpsm is ticked (Conditions for email to be sent)
    if(chemA == '✔' && fee == '✔' && fqa == '✔' && ipqc == '✔' && lpsm == '✔'){

      var recipient = [test_mail,all_mail,chemA_mail,fee_mail,fqa_mail,ipqc_mail,lpsm_mail] ;
      var subject = "Quality Alert for Chem A, FEE, FQA, IPQC & LPSM";
    }
//ERROR HAPPENS HERE
    // Send if chemA & fee & fqa & ipqc & mlb is ticked (Conditions for email to be sent)
    if(chemA == '✔' && fee == '✔' && fqa == '✔' && ipqc == '✔' && mlb == '✔'){

      var recipient = [test_mail,all_mail,chemA_mail,fee_mail,fqa_mail,ipqc_mail,mlb_mail] ;
      var subject = "Quality Alert for Chem A, FEE, FQA, IPQC & MLB";
    }

    GmailApp.sendEmail(recipient, subject, " ",{htmlBody: body});    

    // Auto adding " Email Sent"
    var email_sent = "Email Sent" ;

    //(sheet)getRange(i + [which row data starts at],[which column data will be added]).setValue(what you want to be added)
    QA.getRange(i + 3,25).setValue(email_sent);

  }// End bracket for if(answer = '')
 });// End bracket for QAdata            
} // End of Function

Когда я использую библиотечный скрипт непосредственно в пределах контейнера, он работает, но не в отдельной библиотеке.

1 Ответ

0 голосов
/ 03 мая 2019

Ошибка произойдет, если не будут выполнены условия.Поэтому пришлось сделать или пустышку или убедиться, что что-то случится, если не будут выполнены условия.

...