当前位置: 首页 > 知识库问答 >
问题:

从工作表发送电子邮件的更简洁的方式

邢皓
2023-03-14

我目前有一个正在工作的谷歌脚本,它在谷歌游泳池化学监测表中读取仪表板上的值。人们将提交一个表单,如果这些数字大于或小于一个设定的数字,它将发送一封带有特定消息的电子邮件。

这工作很好,但如果有多个数字是关闭的,我会收到多个电子邮件,这是恼人的。

     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 = "pseudoMcFakeEmail@Battlecruiser.com";  
//-------------------- 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

然后使用email-mailapp.sendeMail(emailAddress,subject,Message1+Message2...);

但我觉得这样做太草率了。

共有1个答案

阎涵忍
2023-03-14

我已经做过几次了,我通常做的是使用字符串连接来构建消息,然后发送它:

  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);
  }
 类似资料:
  • 问题内容: 考虑一个表作为,我想补充一个在此表作为 有什么简单的方法可以在有评论的地方写东西吗?要将电子邮件发送到从table检索到的所有电子邮件ID中。 我在XAMPP(phpmyadmin)中使用MySQL。 问题答案: 我反对这种解决方案。将发送电子邮件的负担放在数据库服务器中可能会非常糟糕。 在我看来,您应该做的是创建一个表,将要发送的电子邮件排队,并有一个过程检查是否有要发送的电子邮件,

  • 问题内容: 我正在尝试从PHP发送简单的HTML电子邮件。下面的代码仅导致GMail中的空白电子邮件。它还有一个名为“ noname”的空附件,这根本不是我想要的;尽管那可能只是它无法正常工作的症状。 我使用的代码是: 问题答案: 原来关键是编码类型。代替: 我需要使用: 它可能取决于您如何在自己的文本编辑器中保存PHP文件的细节。我没有研究它,但是PHP中的 iconv 函数可能也给我带来了一些

  • 我有谷歌发票电子表格,我用vlookup公式从其他(数据)表中获取数据。只有我需要在发票表中输入行号。所以我创建了一个循环脚本,其中数据表中的自动行号将输入到发票表中,并发送带有PDF附件的电子邮件。当运行该脚本时,请正确输入每行的行号,但电子邮件不会发送。

  • 我有两个php值,分别是$email和$pass。 email-MySQL数据库中的行名称password-MySQL数据库中的行名称 我正在运行一个sql查询,从电子邮件=$email和密码=$pass的表成员中进行选择。 然后我运行mysqli_query,看看是否存在一行,我没有得到任何结果。回声肯定会回声出信息匹配的地方的ID。

  • 问题内容: 我正在使用sendgrid发送电子邮件,并且使用以下代码可以正常工作,但没有附件。 但是我需要发送附件,因此我搜索了github源和Web文档API,由于某种原因,没有javadocs,但是有一个示例GitHub sendgrid, 所以我一直在尝试直到它起作用为止,我缩小了一些异常和响应代码,起初我是被禁止的未经授权,最好是响应202,表示有效且已排队(在此处检查),这是我的代码发送