Imagem de cache do Google Script CacheService para inlineImages no sendMail

Gostaria de armazenar uma imagem no Cacheservice do Google Script e depois inseri-la posteriormente como imagem embutida em um email em HTML.

Eu tentei fazê-lo funcionar, mas sem sucesso até agora. O erro de código abaixo no Logger é 'Argumento inválido: anexos'. Se eu verificar, mostra o ícone var no sendMail () é um 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}});

}

Surpreendentemente, se eu fizer isso:

 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 bem. Qual é o problema com o meu código?

questionAnswers(1)

yourAnswerToTheQuestion