Google apps script 应用程序脚本-发送电子邮件-以粗体显示电子邮件内容-以粗体显示Array.toString的格式结果
每次提交Google表单时,我的代码都会发送电子邮件通知。它可以工作,但我希望收集的表单数据在电子邮件中以粗体显示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
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