0

我正在使用 Bsalsa 的嵌入式 Web 浏览器在 Delphi 中编写电子邮件客户端

我对 cid 嵌入式附件有疑问,例如:

<IMG src="cid:5D4219C71EAE43B1864AE9CB27C224A8@somehost">

我将附件存储在数据库中,但不知道如何将它们提供给浏览器。似乎可能需要实现自定义名字对象,但文档很少。

任何帮助,将不胜感激。

4

2 回答 2

1

我已经使用“可插入协议”处理程序实现了它,它看起来更容易。从这里开始:http: //msdn.microsoft.com/en-us/library/aa767916 (VS.85).aspx和这里:http ://www.bsalsa.com/protocols.html

很抱歉我不能分享我写的代码,但它是为我工作的公司写的,我对此有限制。基本上,您需要一个 com 对象来实现正确的接口来获取数据并允许 Web 浏览器控件读取它们。

恕我直言,这是正确的做法 - 从长远来看,更改邮件和存储临时数据可能会带来问题。

于 2009-12-18T18:14:41.643 回答
0

最简单的解决方案是根据请求将“附件”提取到临时文件夹中,然后在显示之前将源中的引用更改为指向这些临时文件。在过去,我曾使用diHTMLParser来解决这个问题,并取得了巨大的成功。

如果我没记错的话,该消息包含这些 mime 附件以及一个可选的文件名,该文件名并不总是存在,但会有一个 mime 类型,因此您可能必须有一个翻译表才能获得附件的默认文件扩展名。此外,跟踪您放置在临时目录中的文件,并在关闭消息窗口后进行清理。如果您允许一次打开多条消息,允许名称冲突并生成唯一文件。签名通常具有相同的名称,但来自不同的人...如果您来自 John 的消息签名为 Mary,这可能会令人困惑。:)

于 2009-12-18T17:17:52.770 回答