如何使用 google 应用程序脚本在电子邮件中包含自定义消息

how to include custom message in email using google apps script

我编写了以下功能,旨在检查网页的状态,然后将结果通过电子邮件发送给指定的收件人 (toList)。

function testStatusNotif() {
  var url = hostname + "/monitoring";
  var listTo = listGroup;
  var response = UrlFetchApp.fetch(url, params);
  if(response.getResponseCode() !== 200) {
    var message = 'Failed (test): response ' + response.getResponseCode();
    MailApp.sendEmail(listTo, "check the platform is up and operational", message);
  } else {
    var message = 'Passed (test): response ' + response.getResponseCode();
    MailApp.sendEmail(listTo, "trade platform is ready to open", message);
  }
}

虽然此功能按原样工作,但我想将 sendMail 步骤分成各自的功能。关键驱动因素是因为我想迎合更多场景,并为每个场景设置不同的收件人和消息。我还想将 sendMail 函数重新用于其他测试。然而,当我将它们分开时,我得到 undefined 代替 message

这是检查 returns undefined.

的示例
function testStatusNotif() {
  var url = hostname + "/monitoring";
  var response = UrlFetchApp.fetch(url, params);
  if(response.getResponseCode() !== 200) {
    var message = 'Failed (test): response ' + response.getResponseCode();
    failEmail(message);
  } else {
    var message = 'Passed (test): response ' + response.getResponseCode();
    passEmail(message);
  }
  return message;
}

function failEmail() {
  var listTo = listFails;
  MailApp.sendEmail(listTo, "check the platform is up and operational", sampleCheck.message);
}

谁能告诉我哪里出错了?

undefined的原因是failEmail的函数不接受该值。如果要给messagefailEmail(message)passEmail(message),请修改如下

发件人:

function failEmail() {
  var listTo = listFails;
  MailApp.sendEmail(listTo, "check the platform is up and operational", sampleCheck.message);
}

收件人:

function failEmail(message) { // Modified
  var listTo = listFails;
  MailApp.sendEmail(listTo, "check the platform is up and operational", message); // Modified
}

注:

  • 关于 sampleCheck 的对象,我从你的脚本中不确定。所以我修改为message.
  • 虽然我不确定passEmail(message)的功能,如果和failEmail(message)的情况一样,请按同样的方式修改。

如果我误解了你的问题,这不是你想要的结果,我深表歉意。