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

  }

問題は見つけやすいと思います。コードライン #7 では、すべてのインライン イメージのダイアグラム 1 ~ 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 に答える