EWS 模拟错误 "The e-mail address that was supplied isn't valid." 尽管它是

EWS Impersonation Error "The e-mail address that was supplied isn't valid." Although It Is

根据系统管理员的说法,Exchange 2010 (SP3) 模拟已正确配置。

问题似乎与代码有关:

private static ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
//service.Credentials = new NetworkCredential(user,password,domain) OK
//service.AutodiscoverUrl OK
...
service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress,usrEmail);
//create a contact and try to save it in a particular contacts subfolder
contact.Save(subfolder.Id);

这是错误所在 "The e-mail address that was supplied isn't valid." 这对我来说真的没有意义,因为我提供了我 100% 知道有效的电子邮件地址。

我试着用谷歌搜索这个,但我一点也不觉得幸运。

P.S。我用 ConnectingIdType.SmtpAddress 和 ConnectingIdType.PrincipalName 尝试了各种模拟场景,没有区别。

知道如何解决这个问题吗?非常感谢,提前。

是模拟错误还是您尝试保存的联系人错误?该错误与 ErrorInvalidContactEmailAddress 有关,这通常意味着它与您尝试保存的联系人有关,而不是与您模拟的用户有关。测试这个的简单方法是使用模拟绑定联系人文件夹,例如:

ContactsFolder Contacts = ContactsFolder.Bind(service, WellKnownFolderName.Contacts);

如果一切正常,那么您就知道您尝试保存的联系人的数据验证错误。