0

我实际上遇到了 Google Apps Script 的问题,我希望任何人都可以帮助我。

我目前正在编写一个脚本,该脚本每周发送一封包含 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。我尝试使用变量,但它不起作用。

实际上我有一个数组来存储每个图表的信息(所以我知道我有多少)。

有没有可能让它变得更好?我想让代码可调整为可变数量的图像。

4

1 回答 1

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] + "'/>";

 }
于 2013-11-11T08:26:29.503 回答