Получить пользовательский сервер Exchange и адрес электронной почты в .NET - PullRequest
4 голосов
/ 14 марта 2012

H я. Я хотел бы знать адрес сервера Exchange моего пользователя (при условии, что он находится в типичной офисной сети Windows). Это в приложении C #.


У меня уже есть адрес электронной почты пользователя, я нашел его в System.DirectoryServices.AccountManagement.UserPrincipal.Current.EmailAddress, после ссылки System.DirectoryServices.AccountManagement

Ответы [ 3 ]

2 голосов
/ 24 марта 2012

Я использую это для моего клиентского приложения Exchange.

  1. Установка Управляемый API веб-служб Exchange
  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 .но обратите внимание, это для неизданной версии 1.2 API.Я не могу найти документацию для версии 1.1

1 голос
/ 16 марта 2012

Вы изучали использование автообнаружения? http://technet.microsoft.com/en-us/library/bb124251.aspx

1 голос
/ 15 марта 2012

Вы ищете атрибут AD с именем homeMDB: http://msdn.microsoft.com/en-us/library/ms980583(v=exchg.65).aspx

Я не думаю, что есть хорошая оболочка .NET для этого атрибута, поэтому вам нужно использовать низкоуровневый LDAP API, чтобы получить его.

Обратите внимание, что в более поздних версиях Exchange (например, 2010) вы можете подключиться к любой роли CAS, и Exchange определит маршрутизацию.

...