Root > Integral parts > Send engines > MAPI


Previous pageReturn to chapter overviewNext page   

MAPI (also known as Extended MAPI or MAPI 1.0) - The Messaging Application Program Interface - is a messaging architecture and a Component Object Model based API for Microsoft Windows. MAPI allows client programs to become (e-mail) messaging-enabled, -aware, or -based by calling MAPI subsystem routines that interface with certain messaging servers. While MAPI is designed to be independent of the protocol, it is usually used with MAPI/RPC, the proprietary protocol that Microsoft Outlook uses to communicate with Microsoft Exchange.


Simple MAPI is a subset of 12 functions which enable developers to add basic messaging functionality. Extended MAPI allows complete control over the messaging system on the client computer, creation and management of messages, management of the client mailbox, service providers, and so forth. Simple MAPI ships with Microsoft Windows as part of Outlook Express/Windows Mail while the full Extended MAPI ships with Office Outlook and Exchange.


In addition to the Extended MAPI client interface, programming calls can be made indirectly through the Simple MAPI API client interface, through the Common Messaging Calls (CMC) API client interface, or by the object-based CDO Library interface. These three methods are easier to use and designed for less complex messaging-enabled and -aware applications. (Simple MAPI and CMC were removed from Exchange 2003.)


MAPI includes facilities to access message transports, message stores, and directories.


Examples of e-mail clients with MAPI protocol support: Outlook, Exchange.




Have good chances to succeed, if e-mail client supports this protocol - since it uses client's configuration to send e-mail.
User uses his real e-mail address, so you can always contact him for more info.
Can deliver reports automatically. No UI.
Good for basic support for unsupported web-trackers (see also).



Depends on client's environment. You can't control it.
No backward feedback - you can't tell customer that this problem is already solved.
No bug report management.
This is complex protocol. Many things can go wrong.
There can be problems with x32 <-> x64 interoperability, since 3rd party DLL must be loaded in your process.
This protocol is implemented very rarely (MAPI is used only by Outlook and Exchange).
Can be canceled.
May be confusing for user (*).
SSL/TLS support may be not present.


MAPI client loads MAPI32.dll library from System folder. This is a MAPI stub, which reads the registry settings, loads proper MAPI DLL and redirects all calls to it.


You can test MAPI by using OutlookSpy and MFCMapi tools.



(*) That's because, if you have two e-mail client installed (say, Windows Mail and Outlook) - both will definitely support mailto protocol, but only one can support MAPI, so you may launch non-default e-mail client (which is not configured). For example, if you have Windows Mail as your default e-mail client and you use MAPI - it will launch Outlook 2010 client, because Windows Mail doesn't support MAPI.


Constant: esmMAPI.



See also:

Send feedback... Build date: 2023-09-11
Last edited: 2023-03-07
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.

Permanent link to this article: