我正在尝试通过电子邮件发送包含所有格式的Google文档。
function sendGoogleDocInEmail() {
var doc = DocumentApp.openById("example_Id");
var body = doc.getBody();
var text = body.getText();
GmailApp.sendEmail("emailaddress@gmail.com", "Hi", text);
此代码工作正常,但电子邮件以纯文本形式发送。
我在Google文档中有描述性的超链接文本片段,并且在转换为纯文本时会丢失超链接。
在发送电子邮件时,有什么办法可以保留所有超文本格式吗?
我尝试将body对象传递给方法,但只是在主体中发送一封带有DocumentBodySection
的电子邮件。
谢谢!
答案 0 :(得分:1)
尝试使用此脚本的组合:https://stackoverflow.com/a/28503601/3520117
然后使用MailApp.sendEmail方法的htmlBody参数。
未经测试,但应该有效:
function emailGoogleDoc(){
var id = DocumentApp.getActiveDocument().getId() ;
var forDriveScope = DriveApp.getStorageUsed(); //needed to get Drive Scope requested
var url = "https://docs.google.com/feeds/download/documents/export/Export?id="+id+"&exportFormat=html";
var param = {
method : "get",
headers : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
muteHttpExceptions:true,
};
var html = UrlFetchApp.fetch(url,param).getContentText();
Logger.log(html);
var email = person@domain.tld;
var subject = 'Subject line';
var body = "To view this email, please enable html in your email client.";
MailApp.sendEmail(
email, // recipient
subject, // subject
body, { // body
htmlBody: html // advanced options
}
);
}