我有一个使用EWS Managed API 1.1编写的客户端应用程序。情况如下:
我可以很好地连接到EWS,发送消息等。
然而,我的软件需要发现经过身份验证的用户的电子邮件地址,并且出于各种要求的原因,不能只是要求用户提供它。
我以为我可以从网络服务中获得这么简单的细节,但我很难过!
这对2007年和2010年都有可能吗?
谢谢!
答案 0 :(得分:3)
您可以使用ExchangeService.ResolveName
执行此操作。我在Exchange 2007上使用以下EWS托管API代码示例尝试了它,它就像一个魅力:
var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Url = new Uri("https://serv/EWS/exchange.asmx");
service.Credentials = new NetworkCredential("001234", "PasswordForUser001234", "Domain");
ServicePointManager.ServerCertificateValidationCallback = (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) =>
{
return true;
};
var resolvedNames = service.ResolveName("001234");
foreach (var resolvedName in resolvedNames)
{
Console.WriteLine(resolvedName.Mailbox.Address);
}