This topic has not yet been rated - Rate this topic

Messaging API evaluation criteria

Exchange

Find evaluation criteria information for using MAPI to develop custom applications for Exchange.

Last modified: February 25, 2014

Applies to: Exchange Online | Exchange Server 2003 | Exchange Server 2007 | Exchange Server 2010 | Exchange Server 2013 | Office 365

In this article
Functional criteria for MAPI
Development criteria for MAPI
Security criteria for MAPI
Deployment criteria for MAPI
Additional resources

You can use the Messaging API (MAPI) to access items and folders in the Exchange store, as well as the properties stored along with each item. Various industry-standard email clients use MAPI, including the Exchange client and all versions of Outlook. You can create clients that use MAPI, as well as MAPI servers and MAPI forms handlers.

MAPI is a mature development technology that provides some capabilities that are not available in other APIs or technologies. However, MAPI does not work well outside an intranet, maintains an open connection for the duration of the MAPI session, and it can be more difficult to use than other Exchange development technologies.

The following table lists and describes the functional criteria for MAPI. For descriptions of the functional criteria, see Functional criteria in the Exchange development technology evaluation criteria descriptions article.

Table 1:  MAPI functional criteria

Criterion

Description

Application function

Client applications that use MAPI access user mailbox, public folder, and public folder mailbox information stored in Exchange and user directory information stored in the Active Directory directory service or Active Directory Domain Services (AD DS). Applications that use MAPI are typically email clients that require complex email processing.

Availability

A MAPI stub library currently ships with all versions of Windows. Office installs its own MAPI subsystem when Outlook is installed.

Application architectures

MAPI client applications are typically Windows forms-based applications. However, you can also write N-tier applications that use MAPI.

Remote usage

In on-premises versions of Exchange starting with Exchange 2013 SP1, Outlook can use MAPI over HTTP or Remote Procedure Calls (RPC) over HTTP to communicate with the Exchange server. In earlier versions of Exchange, MAPI client applications can use RPC or RPC over HTTP to communicate with the Exchange server. Typically, RPC is intentionally blocked from passing through Internet firewalls, but RPC over HTTP is not.

Major objects

The IMAPISession object provides the client access to objects for working with MAPI profiles, status, message service provider administration, message store tables, and address books. The message store table contains objects for the message store, folders, messages, attachments, and recipients. The address book tables contain objects for messaging users and distribution lists.

Data access model

MAPI represents messages and users as hierarchical objects.

Threading models

Applications that use free-threading should avoid sharing MAPI object instances among threads due to the high costs of marshaling the object. MAPI and MAPI service providers use free-threading.

Transactions

MAPI does not support transactions.

Management capabilities

MAPI as a development technology does not provide any management features to the application.

The following table lists and describes the development criteria for MAPI. For descriptions of the development criteria, see Development criteria in the Exchange development technology evaluation criteria descriptions article.

Table 2:  MAPI development criteria

Criterion

Description

Languages and tools

You can only access MAPI directly by using C or C++.

Managed implementation

MAPI is an unmanaged component. Use of MAPI is not supported under the COM Interoperability layer of Visual Studio .NET and the .NET Framework.

Scriptable

MAPI cannot be used in scripts.

Test/debug tools

You do not need any specific debugging tools to debug applications that use MAPI.

Expert availability

Expert MAPI programmers can be difficult to find, and learning the technology can take a significant amount of time. In addition to the Microsoft communities, there are a small number of high-quality third-party websites that provide helpful MAPI development information, such as OutlookCode.com.

Available information

Both Microsoft and third-party books about MAPI programming are available. For more information about MAPI, see the Outlook 2013 MAPI Reference.

Developer/Deployment licensing

No special licensing is required in order to use MAPI.

The following table lists and describes the security criteria for MAPI. For descriptions of the security criteria, see Security criteria in the Exchange development technology evaluation criteria descriptions article.

Table 3:  MAPI security criteria

Criterion

Description

Design-time permissions

You must have permissions to access the data in the Exchange store to create applications by using MAPI. Because Exchange stores user and distribution list information in the Active Directory directory service or Active Directory Domain Services (AD DS), if you create MAPI client applications that access that information, you must be able to retrieve and set that information.

Setup permissions

The user must be a local administrator or to have rights to install software in order to set up MAPI-based applications.

Run-time permissions

The user typically only needs to have sufficient permissions to access the data on the Exchange store to run a MAPI-based application.

Built-in security features

MAPI profiles can be password protected on most platforms.

Security monitoring features

None.

The following table lists and describes the deployment criteria for MAPI. For descriptions of the deployment criteria, see Deployment criteria in the Exchange development technology evaluation criteria descriptions article.

Table 4:  MAPI deployment criteria

Criterion

Description

Server platform requirements

The Exchange servers on which MAPI client application user data is stored must be configured to allow MAPI client access.

Client platform requirements

The client application installer should verify that the correct version of MAPI is available on the computer and that it is configured correctly via the MAPISVC.INF file.

Deployment methods

You can use standard software distribution technologies to deploy applications that use MAPI.

Deployment notes

The installer should verify that the correct version of MAPI is available.

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.