簡體   English   中英

使用 Google Apps 腳本在電子郵件正文中以 HTML 格式發送 Google 文檔,同時保留格式

[英]Sending Google Doc as HTML in email body using Google Apps Script while preserving format

在 Google Doc 上使用下面的腳本,我試圖在電子郵件正文中將文檔作為 HTML 發送。 它正確轉換文檔(當我通過 url 檢查導出的文檔時)並發送具有相同內容的電子郵件,但它在某些時候丟失了以下格式:字體格式(例如,大小、顏色)和表格格式(例如,邊框,背景顏色)

function sendGoogleDocAsHTML(){
  var id = DocumentApp.getActiveDocument().getId() ;
  var url = "https://docs.google.com/document/d/"+id+"/export?format=html"
  var param = {
method      : "get",
headers     : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
muteHttpExceptions:true,
  };
  var html = UrlFetchApp.fetch(url, param);
  var email = <EMAIL>;
  var subject = <SUBJECT>;
  GmailApp.sendEmail(email, subject,"", {htmlBody:html});
}

如何保留電子郵件中的格式?

這對我來說很好。 希望這可能會有所幫助

  function sendGoogleDocAsHTML(){
  var id = DocumentApp.getActiveDocument().getId() ;
  var url = "https://docs.google.com/document/d/"+id+"/export?format=html"
  var param = {
      method      : "get",
      headers     : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
      muteHttpExceptions:true,
  };
  var html = UrlFetchApp.fetch(url, param);
  var raw = Utilities.base64EncodeWebSafe("Subject: Test\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, 'me');
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM