【问题标题】:How to create Global Address List folder in Outlook programmatically?如何以编程方式在 Outlook 中创建全局地址列表文件夹?
【发布时间】:2023-03-13 19:30:01
【问题描述】:

我有 Outlook 插件(用 Visual C++ 编写),它与 DAV 服务器同步联系人(作为 Exchange 的替代品)。个人联系人很好,但我不知道如何模仿全球地址列表 (GAL) 的行为。

理想情况下,我想创建用户能够搜索的 GAL 文件夹,就像 Outlook 连接到 Exchange 时发生的那样。有可能吗?也许,Outlook 对象模型不可能,但 MAPI 仍然可能?谁能指出我如何开始的正确方向?

我需要支持 Outlook 2007+,但也可以选择仅支持最新版本(针对此特定功能)。

最初,我只是同步整个 GAL 文件夹并将其设为只读,以便 Outlook 存储整个 GAL 的本地副本。当 GAL 大小延伸到数千条记录时,这将无法正常工作。

【问题讨论】:

  • 我不确定我是否理解您的问题 - 您有什么问题?从 GAL 中检索数千个条目的性能?
  • @DmitryStreblechenko 一家大公司在其 GAL(在 DAV 服务器上)中有 500K 条目。我不允许将所有 500K 条目从 DAV 服务器加载到 Outlook 的本地数据库中。在 Exchange 上时,Outlook 都不会这样做。它宁愿让我每次需要 GAL 的东西时查询 Exchange 服务器。它永远不会获取所有条目,但可以运行特定的搜索查询等。我需要这样做。在 Outlook 中创建 GAL 文件夹,因此当用户在 GAL 搜索字段中输入内容时,我会获取此字符串并将其发送到 DAV 服务器,该服务器将只返回符合给定条件的条目。

标签: outlook outlook-addin mapi


【解决方案1】:

您不能这样做 - 通讯簿提供程序可以告诉 Outlook 只允许搜索并且从不显示容器的实际内容。

除非您创建自己的 MAPI 存储提供程序,否则您无法对 Outlook 文件夹执行此操作:然后您可以根据用户的操作返回所需的任何数据。

【讨论】:

  • 嗯,这至少告诉我我需要创建一个 MAPI 提供程序。这是一个开始。谢谢!
  • 即使您有任何使用 MAPI 的经验,创建提供程序也远非一个快速的下午项目......
  • 我明白了。但现在我至少可以告诉客户他们有哪些选择。再次感谢。
猜你喜欢
  • 2011-02-04
  • 2016-05-15
  • 2020-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多