Message store providers handle the storage and retrieval of messages and other information for the users of client applications. The message information is organized using a hierarchical system known as a message store. The message store is implemented in multiple levels, with containers called folders holding messages of different types. There is no limit to the number of levels in a message store; folders can contain many subfolders.
The hierarchical message store architecture is shown in the following illustration. There are two folders, one with a subfolder. Client application users can access a summary view of the messages contained within each folder or view them individually with a form. Whether the client displays a standard form supplied by MAPI or a custom form supplied by a form developer depends on the type, or class, of the message. The first folder contains note messages and uses the MAPI standard note form. The second folder contains inventory request messages and uses a custom inventory form. The information on both forms represents the properties of the message.
Message store data can be used in a variety of ways. Besides the traditional electronic mail usage, folders can be used as a forum for public discussion, as a repository for reference documents, or as a container for bulletin board information, to name a few. A single message store can hold many types of information, some modifiable and some not. Multiple clients can install the same message store, making the sharing of data easy and fast.
Message store folders provide the means for sorting and filtering messages and for customizing their view in a user interface display. Links to filtered messages are held in special folders called search-results folders. The user of a client application enters filtering criteria, which MAPI refers to as a restriction, and the criteria is applied to the messages stored in one or more folders. For example, a user might want to view only those messages dealing with a particular subject with arrival dates that are more recent than last week. References to the messages that match the criteria are listed in the search-results folder and the real messages remain in their regular folders.
Messages are the units of data transferred from one user or application to another user or application. Every message contains some message text, formatted simply or more intricately, and message envelope information that is used for transmission. Some messages include one or more attachments, or additional data related to and transported with a message in the form of a file, another message, or an OLE object.
Depending on the message store provider, a user can save a new message currently under composition as well as messages that have been sent or received. Messages can be copied or moved from one folder to another with each copy becoming a separate message that can be copied, deleted, or modified individually. Another feature that some message store providers allow is the ability to change a message, once it has been received, and store it back in its folder. A user might take advantage of this feature for rotating a fax message that has arrived upside down. The correct view can be stored in the folder for later viewing.