MAPI over HTTP
Applies to: Exchange Server 2013
Messaging Application Programming Interface (MAPI) over HTTP is a new transport protocol implemented in Microsoft Exchange Server 2013 Service Pack 1 (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.
Benefits of MAPI over HTTP
MAPI over HTTP offers the following benefits to clients that support it:
- 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.
Deploy MAPI over HTTP
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.
Supportability
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 SP2 and updates KB2956191 and KB2965295 (April 14, 2015) |
|
Outlook Anywhere |
|
|
Outlook 2010 SP2 and earlier | Outlook Anywhere | Outlook Anywhere |
|
|
Outlook 2007 | Outlook Anywhere | Outlook Anywhere |
|
|
Prerequisites
Complete the following steps to prepare the clients and servers to support MAPI over HTTP.
Upgrade Outlook clients to Outlook 2013 SP1 or Outlook 2010 SP2 and updates KB2956191 and KB2965295 (April 14, 2015).
Upgrade Client Access and Mailbox servers to the latest Exchange 2013 cumulative update (CU). 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 the latest Exchange 2013 CU, or the immediately previous CU. 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.
On all Exchange 2013 servers, install the Microsoft .NET Framework version supported by the CU running on your Exchange server. For more information see Exchange Server Supportability Matrix and Installing the .NET Framework.
Configuration
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 toNegotiate
, 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
Run the following command:
Set-OrganizationConfig -MapiHttpEnabled $true
Test MAPI over HTTP connections
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\
Manage MAPI over HTTP
You can manage the configuration of MAPI over HTTP by using the following cmdlets: