使用 InlineImages 发送电子邮件

Send e-mail with InlineImages

我创建了一个脚本,用于将带有 PDF 附件的电子邮件发送到 e.mail 个地址列表。现在我想 "pimp it",在电子邮件的开头添加一张从云端硬盘拍摄的照片。

我在 Google 开发人员 - sendEmail(recipient, subject, body, options) - 上找到了这个方法 - 但我 crystal 不清楚它是如何工作的。

这是我到目前为止编写的代码,但它不起作用。我一直只看文字,没有任何图片。它应该获取电子表格的前 50 行,向第 9 列中的地址发送电子邮件,并在完成后更新第 11 列。

 var sheet = SpreadsheetApp.setActiveSheet(source.getSheets()[2]);
 var row = 3
 var subject = "Subject";
 var imageId = DriveApp.getFileById("0B-OVYDHfkqhXOTF6aWVSSUtSbUE");
 var htmlText = "<img src = "cid:imageId" />  Dear Friend, <BR> <BR> Text";

 for (var i = 0; i <= 50; i++) {
   var emailAddress = sheet.getRange(row + i, 9).getValue()
   var message = "Hi,\n \n" + "text";

   MailApp.sendEmail(emailAddress, subject, message, {
     name: "Alternative Name",
     htmlbody: htmlText,
     attachments: [budgetPDF],
     inLineImages: imageId
   })

   sheet.getRange(row + i, 11).setValue("Sent");

你能告诉我我做错了什么吗?

感谢您的帮助!

您没有得到文件的 blob。

var imageId = DriveApp.getFileById("0B-OVYDHfkqhXOTF6aWVSSUtSbUE");
var imageIdBlob = imageId.getBlob();
var htmlText = "<img src = 'cid:imageIdBlob' />  Dear Friend, <BR> <BR> Text";
.....
.....
MailApp.sendEmail(emailAddress, subject, message, {
     name: "Alternative Name",
     htmlbody: htmlText,
     attachments: [budgetPDF],
     inLineImages: imageIdBlob
   })

由于我不知道文件的格式,您也可以使用 getAs()

史蒂芬