Appscript Отправить изображение вложения электронной почты

Я использую этот код для отправки электронного письма с вложением, и он отлично работает!

Однако я могу прикрепить только файл .PDF

Как я могу разрешить вложение изображений?

Спасибо всем, кто может помочь.

      function sendEmails() {

  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('BD');
  const numRows = sh.getLastRow();
  const pdf = sh.getRange(numRows, 21).getValue();
  const fileid = pdf.slice(33, 66); //cut url id file drive
  const file = DriveApp.getFileById(fileid)

  var id_img_1 = '1flyOEuH1WWYCrQF91feRPIdvjsFh-YfX'
  var id_img_2 = '1S3p6maECfBiF3J0PnOVfZ64YRxHj00On'
  var picture1 = DriveApp.getFileById(id_img_1); 
  var picture2 = DriveApp.getFileById(id_img_2);
  var inlineImages = {};
      inlineImages[picture1.getId()] = picture1.getBlob();
      inlineImages[picture2.getId()] = picture2.getBlob();
  var my_id = numRows;
      my_id -= 1;

  sh.getRange(numRows, 1).setValue(my_id)    
  var email = sh.getRange(numRows, 2).getValue();

MailApp.sendEmail({

to: email,
subject: "test",
attachments: [file.getAs(MimeType.PDF)],
body: "Test message",
htmlBody:'<img src="cid:' + picture1.getId() + '" />' +
         "</pre><br/>\n"+
         "</pre><br/>\n"+
         '<img src="cid:' + picture2.getId() + '" />' +
         "</pre><br/>\n",
      inlineImages: inlineImages
      
      });

спасибо

1 ответ

Хотя я не уверен, правильно ли я понял allow image attachment, из вашего текущего скрипта, чтобы прикреплять изображения в виде вложенных файлов, как насчет следующей модификации?

Из:

      attachments: [file.getAs(MimeType.PDF)],

К:

      attachments: [file.getAs(MimeType.PDF), picture1, picture2],
  • Если вы не хотите использовать изображения в качестве встроенных изображений, удалите htmlBodyа также inlineImages.
Другие вопросы по тегам