脚本 - GmailApp.SendEmail 以及 Google Drive 中的 InlineImages

-2 gmail google-apps-script

嘿,我正在尝试编写一个脚本来从别名 Gmail 帐户发送内联图像。我在 GmailApp-s 文档中找到了大部分代码,但现在我陷入了最后一步......请帮忙,我如何让这部分工作?

谢谢你!

var html =  
'<body>' + 
  '<img src='cid:image'>' +
'</body>' 

    function testGmailApp() {  
var ImageBlob = DriveApp
                      .getFileById('0Bx4vy5p9TA6bekY3Q2ZNdzViVkE')
                      .getBlob()
                      .setName("ImageBlob");
      GmailApp.sendEmail(
'example@gmail.com', 
'test GmailApp', 
'test',{
htmlBody: html, 
inlineImages: {image: ImageBlob}
      }); 
Run Code Online (Sandbox Code Playgroud)

}

Jac*_*own 5

以下是如何将内嵌图像插入到电子邮件中。您可以在MailApp 的文档中找到这样的示例。在发送内联图像的特殊情况下,两个函数的语法保持相同。

正如文档中提到的,插入内联图像的第一步是插入一个img标签,src =" cid:"Name of the image blob in inlineimages object here" html 字符串将如下所示:

var html =  
'<body>' + 
  '<h2> Test <img src = "cid:image"> </h2><br />' +
'</body>'
Run Code Online (Sandbox Code Playgroud)

其余功能保持不变。
注意: src指向cid:image,内联图像对象中的key的名称。

最终代码:

var html =  
    '<body>' + 
      '<h2> Test <img src = "cid:image"> </h2><br />' +
    '</body>'

    function testGmailApp() {  
var ImageBlob = DriveApp
                      .getFileById('0Bx4vy5p9TA6bekY3Q2ZNdzViVkE')
                      .getBlob()
                      .setName("ImageBlob");
      GmailApp.sendEmail(
'someone@gmail.com', 
'test GmailApp', 
'test',{
htmlBody: html, 
inlineImages: {image: ImageBlob}
      }); 
}
Run Code Online (Sandbox Code Playgroud)