August 2014 Release of MFCMAPI and MrMAPI


The August 2014 Release (build 15.0.0.1042) is live: http://mfcmapi.codeplex.com.

It’s been a chaotic half year and I haven’t been able to get my builds out as often as I’d like, though I did do a ton of work on MFCMAPI.

This month we get a totally rebuilt MAPI property parsing engine. As it’s an engine change, you shouldn’t notice much different in MFCMAPI itself, but all of my XML exports get an upgrade.

Here’s a change list – see the Issue Tracker and ChangeSets on Codeplex for more details:

  • Property Parsing engine rebuilt
  • MrMAPI: Fixed malformed XML in profile list when no profiles exist
  • Adding attachments is now possible
  • MrMAPI: Can now dump the receive folder table
  • Export now includes large props by defalt
  • SmartView: Understands PR_PREDECESSOR_CHANGE_LIST

Enjoy.

Comments (3)

  1. Jim says:

    Summary: Can't open Full Access mailbox with Automap disabled in Office 365 with Outlook 2013.

    I'm trying to use MFCMapi to access another user's Office 365 mailbox that has Automap disabled and I'm getting MAPI_E_CALL_FAILED. I'm running Outlook 2013. Everything works fine if I use Outlook 2010 or if Automap is enabled. (Leaving Automap enabled is not an option.) The same problem happen with both Click-to-Run and "normal" versions of Outlook 2013.

    Repro:

    1. In PowerShell, Enable Full Access and Disable Automap for another user's mailbox. Make sure that the mailbox has disappeared from Outlook because this can take a few minutes.

    2. In MFCMapi, logon.

    3. Select MDB | Open other mailboxes… | From GAL…

    4. Select the user

    5. Set CreateStoreEntryID flags to 0xC.

    6. Click OK.

    I get this error.

    Code: MAPI_E_CALL_FAILED == 0x80004005

    Function OpenOtherUsersMailboxFromGal( lpMAPISession, lpAddrBook, &lpMailboxMDB)

    File MainDlg.cpp

    Line 729

    I've repro'd this on multiple systems with various levels of Office 365. Latest Service Packs and Security Updates are applied in all cases.

  2. Stephen Griffin says:

    I don't think the dn you get from the gal in 365 will be sufficient to connect to a mailbox. You need to get the mailbox's proper server dn, like you'd get from autodiscover.

  3. Paul says:

    Hi Stephen,

    As you know, Exchange 2013 SP1 and Outlook 2013 SP1 support MAPI over HTTP. But MFCMAPI seems unable to open other mailbox from GAL by MAPI/HTTP profile, which will work by Outlook Anywhere profile. As below:

    I created 2 profiles for a user "Test1" which has "receive-as" right for the mailbox database, one profile "Test1-RPC" is for Outlook Anywhere, another profile "Test1-Http" is for MAPI over HTTP.

    When I logon the "Test1-RPC" with MFCMAPI.exe, and use the session to open another user Test2's mailbox from GAL, everything is OK. But when I use profile "Test1-Http" to logon, I cannot open user Test2's mailbox,  just got "MAPI_E_CALL_FAILED==0x80004005" error code from OpenMsgStore function.

    Do you have any idea about this issue?