Как кодировать автоматизированную систему электронной почты с несколькими получателями на основе определенных критериев? - PullRequest
0 голосов
/ 15 апреля 2019

Я настраиваю комбинацию форм Google и листов, где пользователи могут отправить запрос в определенные отделы моей компании на проведение брифинга.Все собранные данные будут автоматизированы и отправлены в соответствующие отделы на основе того, что выбрал пользователь при отправке формы.Однако, поскольку я только начал изучать скрипт приложения Google (в настоящее время проходящий стажировку в компании, которую мне прислала моя школа), я не могу автоматически отправлять электронные письма нескольким получателям без того, чтобы код был слишком длинным и грязным.Я надеялся, что есть какой-то метод, о котором я не знал.

Я попытался найти в Google, посмотрел список кодов и другие средства, такие как веб-сайты форм, такие как BenCollins.

Этотекущий сценарий, который я написал:

// automatically send email to required departments
function sendEmail() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var QA = ss.getSheetByName("Quality Alert");
  var QAdata = QA.getRange(3,1,QA.getLastRow() - 2,24).getValues();
  var subject = "Quality Alert";

  Logger.log(QAdata);

  // Data input from "Quality Alert Form"  
  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 fqa      = row[14] ; 
               var inner    = row[15] ; 
               var ipqc     = row[16] ; 
               var legend   = row[17] ; 
               var lpsm     = row[18] ; 
               var mlb      = row[19] ; 
               var photo    = row[20] ; 
               var routing  = row[21] ; 
               var drilling = row[22] ; 
               var answer    = row[23] ;    

  //only send email if "email sent out" column is blank
  if (answer == '')
  {
    if(chemA == '✔')
    {
       var recipient = "adrian.peh@sanmina.com" ;
       var body = "Hi,<br><br>" +
                  "This is a Quality Alert.Please brief the required people and submit the Briefing Record EForm it is completed." + "<br><br>" +
                  "The details are stated below :<br>" +
                  "Customer: " + customer + "<br>" +
                  "Part Number: " + part + "<br>" +
                  "S Number: " + s + "<br>" +
                  "ID Number: " + id + "<br>" +
                  "Defect : " + defect + "<br>" +
                  "Description : " + desc + "<br>" +
                  "Reject Photos : " + reject + "<br>" +
                  "Okay Photos : " + ok + "<br><br>" +
                  "Please complete it as soon as possible." + "<br><br>" +
                  "Thanks." ;
       GmailApp.sendEmail(recipient, subject, " ",{htmlBody: body});          
    }
  } //Bracket for if(answer = '')              
 });        
} 

Он работает при отправке электронной почты, но это только для одного получателя. Всего имеется 14 различных возможных получателей (если их отдел будет выбран пользователем) .IВ настоящее время кодирую только с использованием «IF» и «ELSE», но это будет очень долго и грязно. Мы надеемся, что есть более простой и быстрый способ, например, использование «AND» или другого кода.

Этомой первый пост, так что, если с ним что-то не так, пожалуйста, дайте мне знать, спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...