簡體   English   中英

使用 GmailApp 從 Google App 腳本創建 HTML 草稿

[英]Create HTML Draft from Google App script using GmailApp

我想創建一個谷歌應用程序腳本,通過從谷歌電子表格收集數據來獲取帶有簽名的 Gmail 草案。 默認,

 function Loop_Email_Drafts() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var index = 2; var lastRow = sheet.getLastRow(); for (;index <= lastRow; index++){ var emailAddress = sheet.getRange(index, 1, 1, 1).getValue(); var ccmail = sheet.getRange(index, 2, 1, 1).getValue(); var subject = sheet.getRange(index, 3, 1, 1).getValue(); var message = sheet.getRange(index, 4, 1, 1).getValue(); GmailApp.createDraft(emailAddress, subject, message, {cc: ccmail}); }// End of For Loop }// End of Function

谷歌應用程序腳本正在創建一個純文本草稿,我無法從中添加我的簽名(我的簽名還包含圖像)。

目前,我正在使用以下代碼生成草稿,但沒有簽名是毫無價值的。

使用 htmlBody:

如果只想在草稿中添加一個 HTML 主體,可以使用以下方法:

其中options是指一個 object 可以包含一系列高級參數,包括:

  • htmlBody :如果設置,能夠呈現 HTML 的設備將使用它而不是所需的 body 參數; 如果您的 email 有內聯圖像,您可以在 HTML 正文中添加一個可選的 inlineImages 字段
  • inlineImages :一個 JavaScript object 包含從圖像鍵( String )到圖像數據( BlobSource )的映射; 這假定使用了htmlBody參數並包含對這些圖像的引用,格式為<img src="cid:imageKey" />

也就是說,您在inlineImages中定義所需的圖像,並使用相應的 imageKey 將它們添加到imageKey中。 這是一個如何做到這一點的示例:

const html = "<p>Whatever</p><img src=\"cid:yourImageKey\" />";
const options = {
  htmlBody: html,
  inlineImages: {
    yourImageKey: YOUR_IMAGE_BLOBSOURCE
  }
}
GmailApp.createDraft(recipient, subject, '', options);

更新:添加簽名:

您實際上可以通過 Gmail API 管理簽名,因此可以使用 Apps 腳本(使用高級 Gmail 服務)。

為了將您的實際簽名添加到草稿中,您可以執行以下操作:

const signature = Gmail.Users.Settings.SendAs
                      .get("me", "email_address_or_alias")
                      .signature;
const html = "<div>YOUR_HTML_BODY</div><br>" + signature;
const options = {
  htmlBody: html,
  cc: ccmail
}
GmailApp.createDraft(recipient, subject, '', options);

暫無
暫無

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

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