Messaging Application Programming Interface (MAPI) over HTTP is a new transport protocol implemented in Microsoft Exchange Server 2013 Service Pack 1 (SP1) and Microsoft Outlook 2013 SP1. MAPI over HTTP improves the reliability and stability of the Outlook and Exchange connections by moving the transport layer to the industry-standard HTTP model. This allows a higher level of visibility of transport errors and enhanced recoverability. Additional functionality includes support for an explicit pause-and-resume function. This enables supported clients to change networks or resume from hibernation while maintaining the same server context.
Implementing MAPI over HTTP does not mean that it is the only protocol that can be used for Outlook to access Exchange. Outlook clients that are not MAPI over HTTP capable can still use Outlook Anywhere (RPC over HTTP) to access Exchange through a MAPI-enabled Client Access server.
MAPI over HTTP offers the following benefits to clients that use Outlook 2013 SP1:
- Enables future innovation in authentication by using an HTTP based protocol.
- Provides faster reconnection times after a communications break because only TCP connections—not RPC connections—need to be rebuilt. Examples of a communication break include:
- Device hibernation
- Changing from a wired network to a wireless or cellular network
- Offers a session context that is not dependent on the connection. The server maintains the session context for a configurable period of time—even if the user changes networks.
Consider the following requirements to enable MAPI over HTTP.
- Supportability Verify that your intended configuration versions are supported.
- Prerequisites Verify that your environment has been upgraded and prepared for MAPI over HTTP.
- Configuration Configure the virtual directories, and enable MAPI for your organization.
Use the following matrix to verify that your clients and servers support MAPI over HTTP.
Product | Exchange 2013 SP1 | Exchange 2013 RTM | Exchange 2010 SP3 | Exchange 2007 SP3 |
---|---|---|---|---|
Outlook 2013 SP1 |
|
Outlook Anywhere |
|
|
Outlook 2013 RTM | Outlook Anywhere | Outlook Anywhere |
|
|
Outlook 2010 | Outlook Anywhere | Outlook Anywhere |
|
|
Outlook 2007 | Outlook Anywhere | Outlook Anywhere |
|
|
Complete the following steps to prepare the clients and servers to support MAPI over HTTP.
- Upgrade Outlook clients to Outlook 2013 SP1.
- Upgrade Client Access and Mailbox servers to Exchange 2013 SP1. For information about how to upgrade, see Upgrade Exchange 2013 to the Latest Cumulative Update or Service Pack.
Note:
All Client Access servers must be upgraded to Exchange 2013 SP1 before enabling MAPI over HTTP. Otherwise, Outlook can fail to connect to mailboxes.
Failure to upgrade the all the Mailbox servers in a Database Availability Group (DAG) can result in email delays and a client requirement to restart Outlook in case of a database failover.
Complete the following steps to configure MAPI over HTTP for your organization.
- Virtual directory configuration By default, Exchange 2013 SP1 creates a virtual directory for MAPI over HTTP. You use the Set-MapiVirtualDirectory cmdlet to configure the virtual directory. You must configure an internal URL, an external URL, or both. For more information see, Set-MapiVirtualDirectory .
For example, to configure the default MAPI virtual directory on the local Exchange server by setting the internal URL value to https://contoso.com/mapi, and the authentication method to
Negotiate
, run the following command:Set-MapiVirtualDirectory -Identity "Contoso\mapi (Default Web Site)" -InternalUrl https://Contoso.com/mapi -IISAuthenticationMethods Negotiate
- Certificate configuration The digital certificate used by your Exchange environment must include the same InternalURL and ExternalURL values that are defined on the MAPI virtual directory. For more information on Exchange 2013 certificate management, see Digital Certificates and SSL. Make sure the Exchange certificate is trusted on the Outlook client workstation and that there are no certificate errors, especially when you access the URLs configured on the MAPI virtual directory.
- Update server rules Verify that your load balancers, reverse proxies, and firewalls are configured to allow access to the MAPI over HTTP virtual directory.
- Enable MAPI over HTTP in your Exchange Organization
Note:
If you enable MAPI over HTTP in your organization, Outlook 2013 SP1 clients that connect through Exchange 2013 SP1 Client Access servers might not be able to access public folders in the same forest on Exchange 2010 or Exchange 2007 servers. Don’t enable MAPI over HTTP in your organization until the public folders have been migrated to Exchange 2013 servers. For more information, see the Release Notes for Exchange 2013.
After running the command below, clients using Outlook 2013 SP1 with MAPI over HTTP enabled will see a message to restart Outlook to use MAPI over HTTP.Run the following command:
Set-OrganizationConfig -MapiHttpEnabled $true
You can test the end-to-end MAPI over HTTP connection by using the Test-OutlookConnectivity cmdlet. To use the Test-OutlookConnectivity cmdlet, the Microsoft Exchange Health Manager (MSExchangeHM) service must be started.
The following example tests the MAPI over HTTP connection from the Exchange server named ContosoMail.
Test-OutlookConnectivity -RunFromServerId ContosoMail -ProbeIdentity OutlookMapiHttpSelfTestProbe
A successful test returns output that’s similar to the following example:
MonitorIdentity StartTime EndTime Result Error Exception --------------- --------- ------- ------ ----- --------- OutlookMapiHttp.Protocol\OutlookMapiHttpSelfTestProbe 2/14/2014 7:15:00 AM 2/14/2014 7:15:10 AM Succeeded
For more information, see Test-OutlookConnectivity.
Logs for MAPI over HTTP activity are at the following locations:
-
%ExchangeInstallPath%Logging\MAPI Address Book Service\
-
%ExchangeInstallPath%Logging\MAPI Client Access\
-
%ExchangeInstallPath%Logging\HttpProxy\Mapi\
You can manage the configuration of MAPI over HTTP by using the following cmdlets: