GetMailboxTable does not work on Exchange 2010?

Apr 13, 2011 at 9:05 PM


I have been studying MFCMAPI for a while and developed a MAPI application based on it. Everything was ok for Exchange 2003 and 2007.

Recently my application started to fail and I found GetMailboxTable returned 0x80040007(Access Denied) for Exchange 2010 servers. I tried MFCMAPI tool,  from menu MDB | Get Mailbox Table I got the same error.

Did Microsoft change security requirement to access mailbox table? Or I need to change the way to open mailbox table?

Apr 14, 2011 at 12:31 PM

Make sure you point the API at the mailbox server, not the CAS.

Apr 14, 2011 at 6:54 PM

Yes,  it is mailbox server. I tried on several Exchange 2010 servers, some of them are all-in-one servers, all of them got the same error code.

I run MFCMAPI.exe and it did not work either. My application has the same error code as MFCMAPI.

The user has rights to open other people's mailboxes. The only feature that is not working for MFCMAPI is MDB | Get Mailbox Table.

MDB | Open Other User's Mailbox works fine. That is something strange, if a user can open other user's mailboxes, why the user cannot open mailbox table.

Apr 14, 2011 at 6:56 PM

MFCMAPI error prompt:

Clicking ok:

Apr 14, 2011 at 6:59 PM

Sorry, images cannot be attached.  Error prompt dialog's text is:

Code: MAPI_E_NO_ACCESS == 0x80070005
Function GetMailboxTable1( lpMDB, szServerDN, fMapiUnicode, &lpMailboxTable)
File .\MFCUtilityFunctions.cpp
Line 667

GetMailboxTable failed.
Here are some known causes for this.
MAPI_E_NO_ACCESS: The user does not have permissions. Try again with an administrative account.
MAPI_E_NETWORK_ERROR: The client machine is not in the same domain as the server
    GetMailboxTable does not work over domain boundaries.
    Try again from a machine in the same domain as the server.
In file .\MFCUtilityFunctions.cpp
On line 718