调用 Recipient.Resolve 时未正确解析 LDAP 收件人

A LDAP recipient not being resolved correctly when calling Recipient.Resolve

我正在使用 outlook 对象模型开发 outlook Addin c#。我的插件代码需要解析收件人,以便根据其解析类型 (AddressEntryUserType) 对其进行操作。

我使用的 Recipient.Resolve() 方法效果很好。但是,问题是在 "To" 字段中输入地址的同时发送消息时,电子邮件(我知道它应该是 LDAP 条目)不会解析为 LDAP 条目。相反,它被解析为 SMTP 地址条目。我无法在代码中知道这实际上是一个 LDAP 条目。

注意:当按下"To"按钮并使用地址簿select LDAP条目时。收件人正确解析。

遇到这种情况怎么办?有办法解决这个问题吗?任何帮助将不胜感激。

(基于对原始问题的评论)- 如果您想针对特定的 AB 容器解析名称,您可以使用扩展 MAPI(仅限 C++ 或 Delphi)并调用 IABContainer.ResolveNames. If that fails, you can try to use PR_ANR 对该容器内容的限制 table.

如果扩展 MAPI 不是一个选项,您可以使用 Redemption (I am its author) and its RDOAddressList.ResolveName 方法。它将使用上面概述的两种方法,并且可以通过任何语言访问。