Google Script CacheService Cache-Image für InlineImages in sendMail

Ich möchte ein Bild im Cacheservice von Google Script speichern und dieses Bild später als Inline-Bild in eine HTML-Mail einfügen.

Ich habe versucht, es zum Laufen zu bringen, aber bisher keinen Erfolg. Der folgende Code-Fehler in Logger lautet "Ungültiges Argument: Anhänge". Wenn ich prüfe, ob das var-Symbol in sendMail () angezeigt wird, handelt es sich um einen 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}});

}

Überraschenderweise, wenn ich das tue:

 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}});

    }

es funktioniert gut. Was ist das Problem mit meinem Code?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage