InfiniTec - Henning Krauses Blog

Don't adjust your mind - it's reality that is malfunctioning

Exchange library updated again

Here is another update on the InfiniTec.Exchange library. Among a few bug fixes, there are several new classes which simplify access to the Exchange store. Here is a class diagram of those classes:


Class diagram of Active Directory integration (click to enlarge)

To get the address of a users mailbox, you can now use the User class, which exposes a property named Mailbox. Be sure to call the Refresh or RefreshAsync method before accessing it.

To get a user object, you can either traverse the address lists defined in the Exchange organization by using the AddressListManager class.

Another way is to use the UserResolver which uses "ambiguous name resolution" and "search by initials" to find users: Specifying a Filter of jd will return John Doe. Specifiy john will do return all users with the name joe. This is essentially, what Outlook does when you execute the "Resolve Name" function. But in this case, the users contact folder is not searched.

Permissions needed

The problem with resolving the mailbox url or enumerating the address lists is that these operations require access to the Exchange configuration in the Active Directory. This data is stored under CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=primary_domain. By default, normal users do not have access to this data.

Downloads

InfiniTec.Exchange.Release_0.98.zip (386,492 Bytes)
Release Build of version 0.98
InfiniTec.Exchange_Source_0.98.zip (301,731 Bytes)
Source code of version 0.98
InfiniTec.Exchange_Documentation_0.98.zip (768,932 Bytes)
Documentation
ExampleApplication_0.98.zip (279,372 Bytes)
Example application

Technorati:

Posted by Henning Krause on Sunday, January 7, 2007 12:00 AM, last modified on Sunday, January 7, 2007 12:00 PM
Permalink | Post RSSRSS comment feed