0

下面的代码会在提交表单时生成一封电子邮件,并以清晰的格式显示数据。例如:

用户名 ::

访问类型 ::

电子邮件 ::

我想要的是标题或 [i] 以粗体显示。我不熟悉应用程序脚本语言,并且研究了如何设置粗体文本,但因为这是循环遍历列表,我还没有找到一个简单的方法来做到这一点。我也看过文本文档。我找到了这篇文章StackOverflow但我并不清楚答案。

var email = sample@google.com;

var subject_1 = "Network/Computer Access Form"; 


var s = SpreadsheetApp.getActiveSheet();
var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];    
var message = "";    



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

message += "Sheet URL :: " + SpreadsheetApp.getActiveSpreadsheet().getUrl() + "\n";


MailApp.sendEmail(email, subject_1, message); 
4

1 回答 1

0

正如您提到的答案中提到的,您必须使用 HTML 选项,这是在同一个循环中构建两个版本的方法,这样您就可以保持对 html 格式电子邮件过敏的人的兼容性;-)

function sendEmail(e){
  Logger.log(Utilities.jsonStringify(e));
  var subject_1 = "Network/Computer Access Form"; 
  var s = SpreadsheetApp.getActiveSheet();
  var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];    
  var messageTxt = "";    
  var messageHTML = "";
  for(var i=0 ; i<headers.length;++i) {
    messageTxt += headers[i] + " :: "+ e.namedValues[headers[i]].toString() + "\n\n"; 
    messageHTML += "<b>"+headers[i] + "</b> :: "+ e.namedValues[headers[i]].toString() + "<br><br>"; 
  }
  Logger.log(messageHTML);
  MailApp.sendEmail(email, subject_1, messageTxt,{'htmlBody':messageHTML});
}
于 2013-10-26T11:56:39.930 回答