Exchange Server organizes data into stores , which can be either public or private. These information stores can contain folders to further organize the data. Folders inside the private information store include individual user's folders such as Inbox, Outbox, Contacts, and Tasks. Folders inside the public information store include those that are available to all members of an organization (for example, a Global Address List folder).
The connector for Exchange Server makes use of Exchange Server user folders, as well as the custom Event and Archive folders . The Event Store holds all of the events received by the Event Listener, and the Archive Store holds all of the archived events.
In an Exchange Server environment, user folders are accessed
with either the Information Store Service or the Directory Service;
these services are accessed with the Microsoft Mail API (MAPI)
. The connector for Exchange
Server uses the Collaboration Data Objects (CDO) library as a wrapper for MAPI. Figure 2 illustrates this topology.
Figure 2. Using CDO to access user folders
Within Exchange Server, objects are organized into a tree
structure , as shown in Figure
3.
Figure 3. Object Hierarchy within Exchange Server
The Session object is at the top of the hierarchy; you cannot access any other objects until you have successfully logged in with the Session object's Logon() method.
All of the Exchange Server folders in the public and private information stores are contained under the Session object, and can be directly accessed by CDO.
Within each folder are messages . Messages are the fundamental business entities in Exchange Server, and include objects such as MailItem , ContactItem, and AppointmentItem. The CDO library provides direct access to messages.
MailItem messages can have recipient objects. The CDO library does not provide direct access to recipient objects; you must access them through the parent message object.
Each message has multiple field objects that define its content. For example, a ContactItem message object has FirstName, LastName, and MailingAddress fields.