2017-06-01 57 views
0

我目前有一个可正常工作的Google脚本,可读取Google表格中仪表板上的值以进行游泳池化学监控。人们会提交表格,如果这些数字大于或小于设定的数字,它会发送一封包含特定信息的电子邮件。更清洁的方式从表格发送我的电子邮件

这工作正常,但如果有多个数字是关闭的,我会收到多个电子邮件讨厌。

我正在寻找一个简单,干净的输出,而不是多个电子邮件。

这是我的代码的一部分(其余是相同的只是不同的池)。

 function sendEmails() { 
     var sheet = SpreadsheetApp.getActiveSheet(); 

    //----vvvvvPool 
     var IDPpHReading = sheet.getRange('A6:A7').getValue(); 
     var IDPpHTest = sheet.getRange('B6:B7').getValue(); 
     var IDPORP = sheet.getRange('A9:A10').getValue(); 
     var IDPSetPoint = sheet.getRange('B9:B10').getValue(); 

     var IDPCL = sheet.getRange('A12:A13').getValue(); 
     var IDP_Filter1_INF = sheet.getRange('A16:A17').getValue(); 
     var IDP_Filter1_EFF = sheet.getRange('B16:B17').getValue(); 
     var IDP_Filter2_INF = sheet.getRange('A20:A21').getValue(); 
     var IDP_Filter2_EFF = sheet.getRange('B20:B21').getValue(); 

// insert email here 
    var emailAddress = "[email protected]"; 
//-------------------- IDP pH 
    if (IDPpHReading > 7.8) { 
     var subject = "High pH Reading IDP"; 
     var message = " An Aquatic Specialist recently logged a chemical reading that was too high for the Indoor Pool. Please check the situation asap."; 

     MailApp.sendEmail(emailAddress, subject, message); 
    } 
    else if (IDPpHReading < 7.2) { 
     var subject = "Low pH Reading IDP"; 
     var message = " An Aquatics Specialist recently logged a chemical reading that was too low for the Indoor Pool. Please check the situation asap."; 

     MailApp.sendEmail(emailAddress, subject, message); 
    } 
    if (IDPpHTest > 7.8) { 
     var subject = "High pH Test IDP"; 
     var message = " An Aquatics Specialist recently logged a chemical reading that was too high for the Indoor Pool. Please check the situation asap."; 

     MailApp.sendEmail(emailAddress, subject, message); 
    } 
    else if (IDPpHTest < 7.2) { 
     var subject = "Low pH Test IDP"; 
     var message = " An Aquatics Specialist recently logged a chemical reading that was too low for the Indoor Pool. Please check the situation asap."; 

     MailApp.sendEmail(emailAddress, subject, message); 
    } 

}; 

我给这家去将是使每一个独特的消息:

var message 1; 
var message 2; 
etc 

,然后让电子邮件 - MailApp.SendEmail(EMAILADDRESS,主题,MESSAGE1 +消息2 ....);

但我觉得这是一个马虎的做法。

+0

只需设置'主题=“”'和'消息=” ''在开始处,然后在特定的读数适用时连接额外的部分到主体/主体。 – halfer

回答

0

我不得不这样做了几次,我通常做的是使用字符串连接建立的消息,然后将其发送:

var subject = "Abnormal pH Reading IDP";  
    var message = 'An Aquatics Specialist recently logged a chemical reading at the indoor pool and found:\n'; 
    var needsCheck = false; 

    if (IDPpHReading > 7.8) { 

      var message = message + "\nA reading that was too high."; 
      var needsCheck = true; 

     } 
     else if (IDPpHReading < 7.2) { 
      var message = message + "\nA reading that was too low."; 
      var needsCheck = true; 

     } 
     if (IDPpHTest > 7.8) { 
      var message = message + "\nA test that was too high."; 
      var needsCheck = true; 

     } 
     else if (IDPpHTest < 7.2) { 
      var message = message + "\nA test that was too low."; 
      var needsCheck = true; 
     } 

    if (needsCheck){ 
    var message = message + "\n\nPlease check the situation asap."; 
    MailApp.sendEmail(emailAddress, subject, message); 
    } 
相关问题