在.NET中获取用户的Exchange服务器和电子邮件地址

H I。 我想知道我的用户的Exchange服务器的地址(假设她在典型的Windows办公室networking中)。 这是在C#应用程序中。


我已经有用户的电子邮件地址,我发现它在System.DirectoryServices.AccountManagement.UserPrincipal.Current.EmailAddress ,在引用System.DirectoryServices.AccountManagement

Solutions Collecting From Web of "在.NET中获取用户的Exchange服务器和电子邮件地址"

我用这个为我的Exchange客户端应用程序。

  1. 安装Exchange Web服务托管API
  2. 更改您的C#项目的属性/应用程序将目标框架更改为“.NET Framework 4”而不是“.NET 4 Client Profile”
  3. 参考C:\Program Files\Microsoft\Exchange\Web Services\1.1\Microsoft.Exchange.WebServices.dll

现在编码:

 var exchange = new ExchangeService(); exchange.AutodiscoverUrl(from); var server = exchange.Url.Host; Console.WriteLine(server); 

这是MSDN文档 。 但请注意,这是API的未发布版本1.2。 我找不到版本1.1的文档

您正在寻找名为homeMDB的AD属性: http : //msdn.microsoft.com/en-us/library/ms980583 (v=exchg.65) .aspx

我不认为这个属性有一个很好的.NET包装器,所以你需要使用一个低级别的LDAP API来获取它。

请注意,对于更高版本的Exchange(例如2010),您可以连接到任何CAS角色,Exchange将找出路由。

你有没有看过使用自动发现? http://technet.microsoft.com/en-us/library/bb124251.aspx