2

Delphi2010でOutlookmsgファイルを読み取り、メッセージのhtml本文をtwebbrowserに表示しています。ただし、埋め込まれた画像は表示されません。Outlookメッセージに埋め込まれた画像を表示するのは暑いですか?インポートしたオブジェクトライブラリを使用しています。

4

2 に答える 2

4

HTMLメールに埋め込まれた画像には、マルチパートMIMEメッセージの画像部分()のコンテンツIDであるsrc="cid:xx"属性が付いています。その部分をデコードして一時ファイルに保存し、要素の属性を修正して一時画像ファイルを指すようにすることができます。ここでは、非同期のプラグ可能なプロトコルを介して画像をブラウザに「提供」する方法について説明しますxxContent-Type: application/octet-stream; Content-Disposition: inlinesrcimg

于 2011-06-08T09:00:36.940 に答える
0

IHTMLDocument2 インターフェイスを使用して作業を行うことができます: (参照: http://k210.org/delphi/internet/23/ - IHTMLDocument2 ランタイムの作成)

(note: msg = the mail message)

var
   slImages : TStringList;
   ADoc     : IHTMLDocument2;
begin
   slImages := TStringList.create;
   try
      ADoc  := CreateAndLoadIHTMLdoc2AtRuntime(sBody);
      sBody := ConvertHTMLToHTMLWithEmbeddedImages(Adoc, slImages);

      if (slImages.count=0) then
         msg.HTMLBody:= sBody
      else // add attachments + set cid's in this routine   
         SetupEmbeddedImages(msg, sBody, slImages);

   finally
      freeandNil(slImages);
   end;
end;
于 2012-01-10T19:15:31.763 に答える