如何通过电子邮件发送带有粗体文本的 Google 表单数据

how to have google form data emailed with bold text

本文关键字:文本 Google 数据 表单 电子邮件 何通过      更新时间:2023-09-26

我目前正在使用以下脚本让谷歌电子表格通过电子邮件将我的谷歌表单回复发送给我。 电子邮件中的所有文本都是纯文本,但我希望标题是粗体文本。 我已经尝试了几种将粗体文本的java命令添加到代码中以完成此操作的变体,但我基本上是在猜测,因为我的代码编写经验为零。 是否有可能,我的脚本应该如何成功? 谢谢。

function sendFormByEmail(e) {
    var emailSubject    = "MOD Report";  
    // Set with your email address or a comma-separated list of email addresses.
    var yourEmail       = "xxxx@xxxx.com";
    // Set with your spreadsheet's key, found in the URL when viewing your spreadsheet.
    var docKey          = "xxxx-xxxx-xxxx-xxxx";
    // If you want the script to auto send to all of the spreadsheet's editors, set this value as 1.
    // Otherwise set to 0 and it will send to the yourEmail values.
    var useEditors      = 0;
    // Have you added columns that are not being used in your form? If so, set this value to 
    // the NUMBER of the last column that is used in your form.
    // for example, Column C is the number 3
    var extraColumns    = 0;
    if (useEditors) {
        var editors = DocsList.getFileById(docKey).getEditors();
        if (editors) { 
            var notify = editors.join(',');
        } else var notify = yourEmail;
    } else {
        var notify = yourEmail;
    }
    // The variable e holds all the submission values in an array.
    // Loop through the array and append values to the body.
    var s = SpreadsheetApp.getActive().getSheetByName("FormResponses1");
    if (extraColumns){
        var headers = s.getRange(1,1,1,extraColumns).getValues()[0];
    } else var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];
    var message = "";
    for(var i in headers) {
        message += headers[i] + ' = '+ e.values[i].toString() + ''n'n'; 
    }
    MailApp.sendEmail(notify, emailSubject, message); 
}

您需要使用 htmlBody 高级参数。

谷歌文档 - 类邮件应用程序

下面是一些示例代码:

注意:HTML 粗体标签:<b>text here</b>

function sendEmail() {
  var message = "This is <b>the</b> message";
  MailApp.sendEmail({
    to: "theEmail@example.com",
    subject: "This is the subject line",
    htmlBody: "<br>" +
              "inline text" +
              message,
  });
}

您需要替换此代码片段:

for(var i in headers) {
    message += headers[i] + ' = '+ e.values[i].toString() + ''n'n'; 
}
MailApp.sendEmail(notify, emailSubject, message); 

有了这个:

for(var i in headers) {
    message += "<b>" + headers[i] + '</b> = '+ e.values[i].toString() + '<br>'; 
}
MailApp.sendEmail(notify, emailSubject, "", {htmlBody:message});