Hi. I would like to know the address of my user's Exchange server (assuming she's in a typical Windows office network). This is in a C# application.
I already have the user's email address, I found it at System.DirectoryServices.AccountManagement.UserPrincipal.Current.EmailAddress
, after referencing System.DirectoryServices.AccountManagement
You're looking for the AD attribute called homeMDB: http://msdn.microsoft.com/en-us/library/ms980583(v=exchg.65).aspx
I don't think there is a nice .NET wrapper for this attribute, so you'll need to use a lower-level LDAP API to get it.
Note that with later versions of Exchange (i.e. 2010) you can connect to any CAS role and Exchange will figure out the routing.
Have you looked into using autodiscover? http://technet.microsoft.com/en-us/library/bb124251.aspx
I use this for my Exchange client application.
C:\Program Files\Microsoft\Exchange\Web Services\1.1\Microsoft.Exchange.WebServices.dll
Now code:
Here's the MSDN documentation. but note it's for the unreleased version 1.2 of the API. I can't locate the documentation for version 1.1