Imagen de caché de Google Script CacheService para imágenes en línea en sendMail

Me gustaría almacenar una imagen en el servicio de caché de Google Script y luego insertar esta imagen como una imagen en línea en un correo HTML.

He intentado que funcione, pero hasta ahora no he tenido éxito. El error del código a continuación en Logger es 'Argumento no válido: archivos adjuntos'. Si lo verifico, muestra que el icono var en sendMail () es un blob:

function onOpen(e){
  var icon = DriveApp.getFileById('ID').getBlob().setName('icon');
  var cache = CacheService.getDocumentCache().put('icon', icon);
  }

function sendMail() {

  var icon = CacheService.getDocumentCache().get('icon');

  var email = '[email protected]';
  var subject = 'test';
  var txt = 'test';
  var html = '<img src="cid:icon"/>';

   MailApp.sendEmail(email, subject, txt, {htmlBody: html, name : 'test', inlineImages:{icon:icon}});

}

Sorprendentemente si hago esto:

 function sendMail() {

      var icon = DriveApp.getFileById('ID').getBlob().setName('icon');

      var email = '[email protected]';
      var subject = 'test';
      var txt = 'test';
      var html = '<img src="cid:icon"/>';

       MailApp.sendEmail(email, subject, txt, {htmlBody: html, name : 'test', inlineImages:{icon:icon}});

    }

funciona bien. ¿Cuál es el problema con mi código?

Respuestas a la pregunta(1)

Su respuesta a la pregunta