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?