Google apps script 应用程序脚本-发送电子邮件-以粗体显示电子邮件内容-以粗体显示Array.toString的格式结果

Google apps script 应用程序脚本-发送电子邮件-以粗体显示电子邮件内容-以粗体显示Array.toString的格式结果,google-apps-script,gmail,google-forms,text-formatting,bold,Google Apps Script,Gmail,Google Forms,Text Formatting,Bold,每次提交Google表单时,我的代码都会发送电子邮件通知。它可以工作,但我希望收集的表单数据在电子邮件中以粗体显示 for(var i in headers) message += headers[i] + ': '+ e.namedValues[headers[i]].toString() + "\n\n"; function sendFormByEmail(e) { var s = SpreadsheetApp.getActiveSheet(); var

每次提交Google表单时,我的代码都会发送电子邮件通知。它可以工作,但我希望收集的表单数据在电子邮件中以粗体显示

for(var i in headers) 
    message += headers[i] + ': '+ e.namedValues[headers[i]].toString() + "\n\n";  


function sendFormByEmail(e) 
{    
  var s = SpreadsheetApp.getActiveSheet();
  var headers = s.getRange(1, 1, 1, s.getLastColumn()).getValues()[0];    
  var message = "";
  var data = s.getRange(1, 1, 1, s.getLastColumn()).getValues()[0];
  var subject = "";

  //Get active Spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  //Get Sheet called 'Form responses 1'
  var fr1 = ss.getSheetByName("Form responses 1");

  //Get all emails from 'Emails' tab
  var emails = ss.getSheetByName("Emails");
  var numRows = emails.getLastRow();
  var emailTo = emails.getRange(2, 2, numRows, 1).getValues();

  // The variable e holds all the form values in an array.
  // Loop through the array and append values to the body.

  for(var i in headers) 
    message += headers[i] + ': '+ e.namedValues[headers[i]].toString() + "\n\n";     

  // Insert variables from the spreadsheet into the subject.
  // In this case, I wanted the part number as part of the
  // email subject. These are the 3rd and 16th columns in my form.
  // This creates an email subject like "Parts Inquiry Submission: 729302"
  subject += e.namedValues[headers[1]].toString();

  // Send the email
  MailApp.sendEmail(emailTo, subject, message); 

  // Based off of a script originally posted by Amit Agarwal - www.labnol.org
  // Credit to Henrique Abreu for fixing the sort order
}

首先,您必须在
sendmail()
的第四个参数中使用高级参数
htmlBody
,并且需要将
body
参数和空字符串设置为空

发送电子邮件(收件人、主题、正文、选项)

代码:
message=“”+message+””//用粗体标记包装邮件
变量选项={
“htmlBody”:消息
}
//发送电子邮件
MailApp.sendmail(emailTo,subject,“,选项)//使电子邮件正文为空字符串

谢谢大家的帮助。最后我把它改了一点。这是我最后使用的

函数sendFormByEmail(e)
{    
var message=“”;
var subject=“”;
var emailTo=“”;
//获取活动的电子表格
var ss=SpreadsheetApp.getActiveSpreadsheet();
//获取名为“表单响应1”的工作表
var fr1=ss.getSheetByName(“表单响应1”);
var headers=fr1.getRange(1,1,1,fr1.getLastColumn()).getValues()[0];
//从“电子邮件”选项卡获取所有电子邮件
var emails=ss.getSheetByName(“电子邮件”);
var emailTo=emails.getRange(2,2,emails.getLastRow()-1,1).getValues().toString();
//对于电子表格中的每一列,在电子邮件中添加列名及其新条目作为一行
message=“”;
for(标题中的变量i)
message+=headers[i]+':'+e.namedvalue[headers[i]].toString()+“

”; 消息+=“”; //将主题设置为项目编号 subject=e.namedValues[headers[1]].toString(); //发送电子邮件 MailApp.sendmail({ 致:电邮至:, 主题:主题,, htmlBody:消息 });
}
您需要在类似
元素的内容中创建它们,或者首先创建字符串并执行string.bold(),这取决于您创建所有DOM元素的方式。您的
数据和
标题完全相同。你得到的范围是相同的。您的数据不应该是刚刚添加的最后一行吗?谢谢大家的建议。我最终得到了它的工作,我已经张贴了修改后的代码。
message = "<strong>" + message + "</strong>";//Wrap message in bold tags

var options = {
  "htmlBody":message
}

// Send the email
MailApp.sendEmail(emailTo, subject, "",options);//Make email body empty string