2

我正在阅读 Delphi 2010 中的 Outlook msg 文件并在 twebbrowser 中显示消息的 html 正文。但是,它不显示嵌入的图像。热门在 Outlook 消息中显示嵌入图像?我正在使用导入的对象库。

4

2 回答 2

4

HTML 邮件中的嵌入图像带有src="cid:xx"属性 where是多部分 MIME 消息中xx图像部分 ( ) 的内容 ID 。Content-Type: application/octet-stream; Content-Disposition: inline您可以将该部分解码并保存到临时文件中,并修复元素的src属性img以指向临时图像文件。此处描述了通过异步可插入协议向浏览器“提供”图像的替代方法。

于 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 回答