2017-06-01 5 views
0

私は現在、スイミングプールの化学的監視のために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、件名、メッセージ1を+メッセージ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); 
    } 
関連する問題