Google apps script 如何使用html文件作为htmlBody?
如何将html文件用作htmlBody??? 我知道我可以使用MailApp.sendEmail发送电子邮件。 我知道我可以用html代码设置htmlBody。 然而,我的html代码太长,并且有很多行,所以我想把它们写在一个额外的html文件中,而不仅仅是使用一个带有这么多“+”的gs文件。Google apps script 如何使用html文件作为htmlBody?,google-apps-script,gmail,Google Apps Script,Gmail,如何将html文件用作htmlBody??? 我知道我可以使用MailApp.sendEmail发送电子邮件。 我知道我可以用html代码设置htmlBody。 然而,我的html代码太长,并且有很多行,所以我想把它们写在一个额外的html文件中,而不仅仅是使用一个带有这么多“+”的gs文件。 我该怎么做呢?这个示例脚本怎么样?请把这当作几个答案之一 当您将HTML正文作为HTML文件放到脚本编辑器中时,可以使用HtmlService.createHtmlOutFromFile()实现它。示例脚
我该怎么做呢?这个示例脚本怎么样?请把这当作几个答案之一 当您将HTML正文作为HTML文件放到脚本编辑器中时,可以使用
HtmlService.createHtmlOutFromFile()
实现它。示例脚本如下所示
MailApp.sendEmail({
to: emailaddress,
subject: subject,
htmlBody: loadMyFile(filename,folderID)}
);
function loadMyFile(filename,folderID){
var fldr=DriveApp.getFolderById(folderID);
var file=fldr.getFilesByName(filename);
while(file.hasNext()){
var fi=file.next();
var target=fi.getName();
if(target==filename){
var s=fi.getBlob().getDataAsString();
}
}
return s;
}
示例脚本:
参考资料:
参考资料:
MailApp.sendEmail({
to: emailaddress,
subject: subject,
htmlBody: loadMyFile(filename,folderID)}
);
function loadMyFile(filename,folderID){
var fldr=DriveApp.getFolderById(folderID);
var file=fldr.getFilesByName(filename);
while(file.hasNext()){
var fi=file.next();
var target=fi.getName();
if(target==filename){
var s=fi.getBlob().getDataAsString();
}
}
return s;
}
您还可以使用获取从@random parts返回的
字符串
内容谢谢您提供的其他信息。在这种情况下,有几种方法。也可以从Google Drive上的文件中读取HTML正文。用户可以从中进行选择。非常感谢,这正是我需要的。如果我需要一些html代码来实现动态,我该怎么做?例如:填充表格。@Zhiyong ZHOU您可以在脚本编辑器中创建他们的html文件。因此,您可以通过为HtmlService.createhtmloutpfromfile(filename)
选择HTML文件来发送邮件。如果我误解了你的评论,请告诉我。@Tanaike你可能会误解我的评论,因为我表达得不清楚。我知道如何选择HTML文件,但我仍然困惑的是,如何更改的innerhtml,因为我的HTML代码有标记,每次运行脚本时我都需要动态填充表格。
<table>
<? for (var i = 0; i < data.length; i++) { ?>
<tr>
<td><?= data[i] ?></td>
</tr>
<? } ?>
</table>
MailApp.sendEmail({
to: emailaddress,
subject: subject,
htmlBody: loadMyFile(filename,folderID)}
);
function loadMyFile(filename,folderID){
var fldr=DriveApp.getFolderById(folderID);
var file=fldr.getFilesByName(filename);
while(file.hasNext()){
var fi=file.next();
var target=fi.getName();
if(target==filename){
var s=fi.getBlob().getDataAsString();
}
}
return s;
}