【问题标题】:Programmatically accessing archived mails in an Exchange folder以编程方式访问 Exchange 文件夹中的归档邮件
【发布时间】:2017-01-28 11:41:47
【问题描述】:

我正在尝试通过 Outlook 2013 的 ActiveX 接口访问给定文件夹中的所有邮件。我使用 Outlook 的消息 API (MAPI) 来获取所需的文件夹对象。

但是,当我浏览此文件夹对象的所有项目时,许多消息都丢失了。实际上,MS Exchange 服务器上的某些邮件由于太旧而无法与 Outlook 同步。 (在 Outlook 中,文件夹以名为“单击此处查看 Microsoft Exchange 上的更多信息”的链接结尾。单击该链接时,丢失的邮件会出现在 Outlook 中。但在此操作后它们不会添加到文件夹对象中。)

如何访问这些消息?是否可以通过 Outlook ActiveX 界面?如果没有,是否有与 MS Exchange 服务器等效的接口?

【问题讨论】:

  • 那么丢失的邮件实际上是在存档邮箱中吗?或者它们只是太旧并且超过了 Exchange 帐户属性对话框中同步设置的截止日期?
  • 第二个选项——它们不再与 Outlook 同步,因为它们太旧了。我对“存档”的使用可能确实具有误导性。

标签: outlook exchange-server activexobject


【解决方案1】:

要访问较旧(但未归档)的电子邮件,您可以

  1. 设置 Exchange 帐户以同步 Exchange 帐户属性对话框中的所有项目。必须重新启动 Outlook。
  2. 将 Exchange 帐户设置为以编程方式同步所有项目。您可以使用扩展 MAPI(仅限 C++ 或 Delphi)执行此操作,需要在 MEMS 配置文件部分设置一个标志。 Redemption(任何语言)公开 RDOExchangeMailboxStore.MonthsToKeepOffline / DaysToKeepOffline 属性。必须重新启动 Outlook。
  3. 在调用IMsgStore::OpenEntry 时使用MAPI_NO_CACHE 标志以在线模式打开父文件夹(仅限扩展MAPI、C++ 或Delphi)。 Redemption 可让您在使用任何语言的 RDOSession.GetFolderFromID 打开文件夹时传递该标志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    相关资源
    最近更新 更多