Create an Outlook profile using MFCMAPI

MFCMAPI provides access to MAPI stores to facilitate investigation of Exchange and Outlook issues and to provide developers with support for MAPI development. Downlaod

Applies to: Office 365 | Outlook | Outlook 2016

For non-developers, it is recommended that you use the Outlook user interface to create profiles for Exchange 2013.

Configure an Outlook profile using MFCMAPI

  1. Download the latest MFCMAPI release from GitHub.

  2. On the Profile menu, select Show Profiles.

  3. On the Actions menu, select Create Profile.

  4. Create a new name for the profile, and then choose OK.

  5. Right-click the new profile, and then on the Services menu, select Add Service.

  6. Uncheck the "Display Service UI" box, and then choose OK.

  7. Double-click the newly created profile, and then select the MSEMS service.

  8. Locate the Exchange Profile section.

    This can be difficult in Outlook's MAPI, since in 2010 and above there is no longer the global profile section. To find the Profile section, find the property PR_EMSMDB_SECTION_UID (0x3D150102). The value will be the GUID of the profile section persisted in binary form, which will be used in the subsequent steps. You'll need this value in step 10.

  9. Double-click the MSEMS service.

  10. Find the Exchange profile section by using the UID from step 7, and then single-click to select the row.

  11. On the Property menu, select Additional Properties.

  12. Select Add, and then add the following properties:

    For Outlook 2016: PR_PROFILE_USER_SMTP_EMAIL_ADDRESS_W (0x6641001F) and PR_DISPLAY_NAME_W

    For Outlook for Office 365: PR_PROFILE_UNRESOLVED_NAME, PR_PROFILE_UNRESOLVED_SERVER, PR_ROH_PROXY_SERVER, PR_ROH_FLAGS, PR_ROH_PROXY_AUTH_SCHEME, PR_PROFILE_AUTH_PACKAGE, and PR_ROH_PROXY_PRINCIPAL_NAME

    For Exchange 2013: PR_PROFILE_UNRESOLVED_NAME, PR_PROFILE_UNRESOLVED_SERVER, PR_ROH_PROXY_SERVER, PR_ROH_FLAGS, PR_ROH_PROXY_AUTH_SCHEME, and PR_PROFILE_AUTH_PACKAGE.

  13. Choose OK, and then configure each property according to the table below, depending on the version you are connecting to.

  14. On the Session menu, select Logon and Display Store, and then select the profile (if it's not already selected).

Outlook 2016

Property Tag Description
PR_PROFILE_USER_SMTP_EMAIL_ADDRESS_W
0x6641001F
SMTP Address of the user
PR_DISPLAY_NAME_W
0x3001001F
The display name of the user
PR_STORE_PROVIDERS
0x3D000102
Configure the value of this property, located in the EMSMDB section, and update the corresponding UID for the matching property

Outlook for Office 365

Property Value Description
PR_PROFILE_UNRESOLVED_NAME1
mailbox alias
The alias for the target mailbox; for example, Administrator
PR_PROFILE_UNRESOLVED_SERVER1
personalized server id
The value retrieved from Autodiscover. in the format guid@tenant.onmicrosoft.com; for example, F5FA2827-5978-43cd-8FA8-E07BC3BB5591@contoso.onmicrosoft.com
Autodiscover Node : Response/Account/Protocol/Server (EXCH)
PR_ROH_PROXY_SERVER
outlook.office365.com
Autodiscover Node : Response/Account/Protocol/Server (EXPR) 2
PR_ROH_FLAGS
ROHFLAGS_USE_ROH (0x1)
ROH_FLAGS_USE_SSL (0x2)
ROHFLAGS_MUTUAL_AUTH (0x4)
ROHFLAGS_HTTP_FIRST_ON_FAST (0x8)
ROHFLAGS_HTTP_FIRST_ON_SLOW (0x20)
Contains the settings in a profile used by Outlook to connect to Microsoft Exchange Server by using a remote procedure call (RPC) over Hypertext Transfer Protocol (HTTP). Autodiscover Node : Response/Account/Protocol/SSL (EXPR) 2
PR_ROH_PROXY_AUTH_SCHEME
RPC_C_HTTP_AUTHN_SCHEME_BASIC (0x1)
Represents the authentication protocol to be used for this profile Autodiscover Node : Response/Account/Protocol/AuthPackage (EXPR) 2
PR_PROFILE_AUTH_PACKAGE
RPC_C_AUTHN_NONE (0x0)
Describes the authentication scheme to use for the RPC Autodiscover Node : Response/Account/Protocol/AuthPackage (EXCH) ) 3
PR_ROH_PROXY_PRINCIPAL_NAME
CertPrincipalName element
Used to support mutual authentication; for example, msstd:outlook.com Autodiscover Node : Response/Account/Protocol/CertPrincipalName (EXPR) ) 2

Exchange 2013

Property Value Description
PR_PROFILE_UNRESOLVED_NAME1
mailbox alias
The alias for the target mailbox; for example, Administrator
PR_PROFILE_UNRESOLVED_SERVER1
personalized server id
The value retrieved from Autodiscover. in the format guid@tenant.onmicrosoft.com; for example, F5FA2827-5978-43cd-8FA8-E07BC3BB5591@contoso.onmicrosoft.com
Autodiscover Node : Response/Account/Protocol/Server (EXCH)
PR_ROH_PROXY_SERVER
client access server domain name
The fully qualified domain name (FQDN); for example, e2013cas.contoso.com Autodiscover Node : Response/Account/Protocol/Server (EXPR) 2
PR_ROH_FLAGS
ROHFLAGS_USE_ROH (0x1)
ROHFLAGS_HTTP_FIRST_ON_FAST (0x8)
ROHFLAGS_HTTP_FIRST_ON_SLOW (0x20))
Contains the settings in a profile used by Outlook to connect to Microsoft Exchange Server by using a remote procedure call (RPC) over Hypertext Transfer Protocol (HTTP) Autodiscover Node : Response/Account/Protocol/SSL (EXPR) 2
PR_ROH_PROXY_AUTH_SCHEME
RPC_C_HTTP_AUTHN_SCHEME_NTLM (0x2)
Represents the authentication protocol to be used for this profile Autodiscover Node : Response/Account/Protocol/AuthPackage (EXPR) 2
PR_PROFILE_AUTH_PACKAGE
RPC_C_AUTHN_WINNT (0xA)
Describes the authentication scheme to use for RPC Autodiscover Node : Response/Account/Protocol/AuthPackage (EXCH) ) 3

Note

  • All property values mentioned above may vary for your particular organization.
  • 1 You must use the Unicode version, rather than the ANSI version.
  • You must use the Plain Old XML (POX) based Autodiscover. This is the only supported Autodiscover for configuring Outlook/Exchange profiles.
  • You can use Outlook to make an Autodiscover request on your behalf by right-clicking the Outlook icon in the System Tray, while holding down CTRL and clicking Test E-Mail Autoconfiguration.
  • For PR_ROH_FLAGS, your environment may require the flag ROHFLAGS_SSL_ONLY (0x2) to tell MAPI to use only SSL. If your environment requires mutual authentication, you will need to set that flag as well [ROHFLAGS_MUTUAL_AUTH (0x4)]. Setting ROHFLAGS_MUTUAL_AUTH (0x4) will require that you also set the property PR_ROH_PROXY_PRINCIPAL_NAME. You should set this to be the principal name of the server.
  • 2 For Outlook 2010, you will need to use the EXPR protocol. Outlook 2013 uses the EXHTTP protocol.
  • 3 This value may not be in the Autodiscover response. If not specified, the client should use Kerberos or NTLM.

For Troubleshooting tips, see How to configure an Outlook profile using MFCMAPI for Exchange 2013.

See also