我目前正在尝试实施一项服务,该服务使用 EWS 更新用户的 Outlook 联系人,但我在正确写入电子邮件地址字段时遇到了一些麻烦。请注意,我不是 Exchange 开发人员,而且我是 EWS 的新手。
当使用 FindItems() 方法搜索用户的联系人文件夹时,返回的联系人对象将其电子邮件地址字段作为正确的 SMTP 地址 (blah@blah.com)。但是,当我更新并保存联系人时,下一次检索该联系人时,电子邮件地址字段会显示 LegacyDN 地址(/o=Blah/ou=Exchange 管理组/cn=Recipients/cn=Blah)。即使我在更新时将完全相同的 SMTP 地址写入联系人字段,也会发生这种情况。
不知何故,EWS 似乎在内部将 SMTP 地址转换为 ExchangeLDn 地址。由于多种原因,这是有问题的。特别是,它似乎破坏了我们从交换服务器读取的一些其他服务,并且如果不进行非常缓慢的 ResolveName 调用,就无法正确显示电子邮件地址。有没有办法阻止 EWS 这样做?使用 Outlook Redemption 的不同服务在正确写入 SMTP 地址时没有问题,但我们正在尝试停用该服务并使用 Redemption API。我还应该提到,这个问题只发生在为内部用户更新联系人时。外部用户始终写入正确的 SMTP 地址。
谢谢。