我有一个很好用的Google脚本,可以从我的Google表格中获取数据,然后将这些信息作为HTML电子邮件发送出去。效果很好,但我很乐意在发送之前简单地预览电子邮件。必须可以在侧边栏或弹出窗口中显示HTML吗?我确信答案是在HtmlService.createHtmlOutput编码中,但我似乎无法使其工作。
有人可以通过提供编码示例来提供帮助吗?理想情况下,弹出窗口允许我查看它,然后一个按钮发送将很棒。
感谢。附在我希望预览的电子邮件代码中(删除了电子邮件回复详情)。
var EMAIL_SENT = "EMAIL_SENT";
function sendEmails3() {
var sheet = SpreadsheetApp.getActive().getSheetByName('LateEmail');
var startRow = 3; // First row of data to process
var numRows = 45; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, 40)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[8]+row[9]+row[10]+row[11]+row[12]+row[13]+row[14]+row[15]+row[16]+row[17]+row[18]+row[19]+row[20]+row[21]+row[22]+row[23]+row[24]+row[25]+row[26]+row[27]+row[28]+row[29]+row[30]+row[31]+row[32]+row[33]+row[34]+row[35]+row[36]+row[37]; // Second column
var emailSent = row[7]; // Third column
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
var subject = "Assignments for Tomorrow";
MailApp.sendEmail(emailAddress, subject, message, {
name: 'Assignments',
replyTo: 'assignments@****.com',
htmlBody: message
});
sheet.getRange(startRow + i, 8).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}
答案 0 :(得分:1)
您可以创建一个简单的HTML页面并将电子邮件正文插入其中然后批准。您可能需要启动here: Extending Google Sheets,然后查看HTML Service: Create and Serve HTML作为起点。
如果您有具体问题,请创建新帖子并确保包含您的代码。