我实际上遇到了Google Apps脚本问题,我希望有人可以帮助我。
我正在制作一个脚本,该脚本每周发送一封包含pdf文件和几张图片的信息(图片数量不固定)。此外,图像应显示在电子邮件中(使用htmlBody选项)。
现在我的问题如下:我想用电子邮件发送的图片数量不固定,所以此刻我必须硬编码htmlBody,这有点难看。
htmlBody = "<img src='cid:diagramm1'/><img src='cid:diagramm2'/><img src='cid:diagramm3'/>
GmailApp.sendEmail(test@mailinator.com,
subject ,
recipient[0],message,
{htmlBody: htmlBody,
inlineImages:{
diagram1:attach[1],
diagram2:attach[2],
diagram3:attach[3],
},
attachments:attach[0]});
});
}
//not used atm
function buildHtmlBody(){
for(i=0;i<DIAGRAM_NAMES.length;i++){
htmlBody += "<img src='cid:" + DIAGRAM_NAMES[i] + "'/>";
}
我认为问题很容易发现。在Codeline#7中,我手动列出了所有内嵌图像diagram1-3。我尝试使用变量,但它不起作用。
实际上我有一个数组,我存储有关每个图表的信息(所以我知道我有多少个)。
是否有可能使这更好?我想使代码可调整为可变数量的图像。
答案 0 :(得分:2)
试试这个
htmlBody = "<img src='cid:diagramm1'/><img src='cid:diagramm2'/><img src='cid:diagramm3'/>
var inlineImages = {};
for (var i = 1; i <= DIAGRAM_NAMES.length ; i++){
inlineImages["diagram" + i.toString()] = attach[i];
}
GmailApp.sendEmail(test@mailinator.com,
subject ,
recipient[0],message,
{htmlBody: htmlBody,
inlineImages:inlineImages,
attachments:attach[0]});
});
}
//not used atm
function buildHtmlBody(){
for(i=0;i<DIAGRAM_NAMES.length;i++){
htmlBody += "<img src='cid:" + DIAGRAM_NAMES[i] + "'/>";
}