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?