我想使用google docs文件的内容从电子表格发送电子邮件以发送消息(电子邮件正文)。这就是我现在所拥有的,它运作良好。
*部分代码
var doc = DocumentApp.openById(row[9]);
var message = doc.getText();
MailApp.sendEmail(emailAddress, subject, "Dear " + row[6] +"\n\n"+ message + "\n\n"+ row[1] + "\n" + row[2] + "\n" + row[3] + "\n" + row[4]);
它工作得很好,但电子邮件是纯文本。
我有一些格式,例如Blod / Colored / List格式......等等。 如何在电子邮件中保留这些格式?
我尝试了getBody()或getParagraph(),但它只返回了“Document”或“Paragraph,Paragraph,Paragraph”。
提前致谢!
* FYI 我试过这个。 How to send rich text emails with GmailApp? 哪个工作正常,但我正在尝试找到一个直接使用富文本发送电子邮件的解决方案。不使用html格式。
答案 0 :(得分:2)
function test_mail_() {
var id = DocumentApp.getActiveDocument().getId();
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();
var raw = Utilities.base64EncodeWebSafe("Subject: Test\r\n" +
"From: " + Session.getActiveUser().getEmail() + "\r\n" +
"To: test@gmail.com\r\n" +
"Content-Type: text/html; charset=UTF-8\r\n\r\n" +
html + "\r\n\r\n");
var message = Gmail.newMessage();
message.raw = raw;
var sentMsg = Gmail.Users.Messages.send(message, 'test@gmail.com');
}
这对我有用。希望这可能有所帮助