3

我正在使用 VC/ATL 编写 Outlook 插件。这个特定的插件接收选定的电子邮件并将它们写入磁盘。它还将所有关联的附件写入磁盘。然后,我们将所有内容读入 Outlook 之外的应用程序。

使用 Outlook 对象模型,这非常简单,因为 _MailItem 和 Attachment 都有 SaveAs 方法。当附件本身是嵌入的电子邮件时,问题就出现了,我们也希望将其拆分并保存为单独的文件。

在理想情况下,我可以查询 _MailItem 接口的附件,并像处理选择的正常部分一样处理它。但 QueryInterface 返回“无接口”。

我需要一个通过 Outlook 2010 与 Outlook XP (2002) 一起使用的解决方案。我知道在 Outlook 2007 中,应用程序对象上有一个方法 (CreateItemFromTemplate),它允许我从磁盘上保存的消息中获取 MailItem,但是不适用于 Outlook XP / 2003。我还需要完整的发件人/收件人信息。

我也知道第 3 方赎回库可以使用扩展 MAPI 做到这一点。但是,我们试图避免使用 3rd 方库。

4

1 回答 1

2

如果您不想使用第三方库,那么您可能必须编写自己的 MSG 文件解析器来提取嵌入的邮件项目。

除此之外,如果您真的对开发 Outlook 插件很认真,那么您迟早会使用 Redemption,那么为什么还要等待呢?它的价值绝对超过其作者的黄金重量。

于 2009-06-01T12:11:14.930 回答