通过googlescript发送邮件正文中的大胆特定单词

时间:2018-04-08 05:18:44

标签: google-apps-script google-sheets

我正在使用谷歌电子表格,如下所示:

   A             B                    C             D
1 Name        e-mail              Identifer       Status
2 Alex       ax@gmail.com         ERT ER          A
3 Micke      miike477@gmail.com   Ejyu er w       
4 John       john7788@tri.com     Arb Ed          C

我在列D中有一个下拉列表(比如A,B& C),现在我希望每当值发生变化时(最初列D将为空)在D列中针对特定Name,而不是通过下面提到的发件人ID和内容在列B中提到的电子邮件ID的自动电子邮件触发器。

每当列D中的值发生变化时,电子邮件都应该触发,但空白除外,如果之前的值是" B"现在它改为" C"应该触发邮件。

Sender-example@gmail.com
CC-TEST1 @ gmail.com,TEST2 @ gmail.com

电子邮件正文:

嗨Alex(Should be picked from column A depending against which name e-mail trigger

这里有句话。 您的 ERT ER Should be pick from column C)的一些句子的状态为 A should be pick from column D)。

的问候,
例如
123456789

我正在尝试使用下面提到的脚本(工作正常只是想在电子邮件正文中加粗identifierstatus的值:

    function sendEmailToUser(event){
  var eventRange = event.range;
  var sheet = eventRange.getSheet();
  var sheetName = sheet.getName();
  var column = eventRange.getColumn();
  if (sheetName == "Sheet1" && column == 4){ // Make sure the edited column is in the correct sheet, otherwise editing Column D in Sheet3 might trigger this
    var row = eventRange.getRow(); // You need to know which row so you can send the email to the correct person
    var rowValues = sheet.getRange(row, 1, 1, 4).getValues();
    var name = rowValues[0][0];
    var sendTo = rowValues[0][1];
    var identifier = rowValues[0][2];
    var status = rowValues[0][3];
    if (status != "") { // Don't send the email if the status is blank
      var cc = "test1@example.com, test2@example.com";
      var subject = "What is the: " + identifier;
      var content = "Hi " + name + "\nWhat is the value " + identifier + " with the status " + status + "?";
      MailApp.sendEmail(sendTo, subject, content, {
        cc: cc
      });
    }
  }
}

1 个答案:

答案 0 :(得分:1)

您正在混合单引号和双引号,也没有正确连接它们。请查看Javascript Strings

要连接'<body>"Hi",您需要包含+运算符,因为它们是两个独立的字符串:

'<body>' + "Hi"

但是,只需将'<body>'"Hi"串联起来就可以了。

"<body>Hi" 

这就是你应该做的事情:

var content = "Hi " + name + "\nWhat is the value " + identifier + " with the status " + status + "?";
var contentHTML = "<body><p>Hi " + name + "</p><br><p>What is the value <b>" + identifier + "</b> with the status <b>" + status + "</b>?</p></body>";
MailApp.sendEmail(sendTo, subject, content, {
  cc: cc,
  htmlBody: contentHTML
});

content将为那些电子邮件客户端(或个人偏好)不显示HTML电子邮件的用户显示纯文本(未格式化)文本。 contentHTML是相同的,但显示HTML格式的内容。