0

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

我在 Google Developers 上找到了这种方法 - sendEmail(recipient, subject, body, options) - 但我不清楚它是如何工作的。

这是我到目前为止编写的代码,但它不起作用。我一直只看文字,没有任何图片。它应该占用电子表格的前 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");

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

谢谢你的帮助!

4

1 回答 1

0

你没有得到文件的 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()

斯蒂芬妮

于 2015-07-15T15:02:48.210 回答