PRB: Error: MAPI_E_FAILONEPROVIDER (8004011D) Using CDO

ID: Q195849

The information in this article applies to:

SYMPTOMS

When attempting to use Collaboration Data Objects (CDO), you receive the following error message:

   MAPI_E_FAILONEPROVIDER (8004011D).

If you are accessing CDO from an Active Server Pages page (ASP) you might receive the following error message:

   Active Messaging error '00000505'
   You do not have permission to log on. [Microsoft Exchange Server
   Information Store - [MAPI_E_FAILONEPROVIDER(8004011D)]]

There are a number of reasons why this error message appears. This article discusses some of the causes and resolutions.

CAUSE

Following are possible causes of the previous error messages:

Cause 1

If you are running your code from an Active Server Pages page, Microsoft Internet Information Server (IIS) might not be configured correctly for anonymous access.

Cause 2

If you are running your code from an Active Server Pages page, you might be trying to view the contents of a public folder by stepping through the tree (or folder hierarchy).

Cause 3

Your authentication control is set to "NT Challenge Response" and you are using Netscape Navigator for your browser.

Cause 4

You might have insufficient permissions to the mailbox that you are logged onto.

Cause 5

If you are using a Windows 95 client, you might be trying to access any InfoStore related properties or methods except the AddressBook.

RESOLUTION

The following resolutions match the causes listed in the previous section.

Cause 1: Resolution

If you are using the IIS anonymous account to access an Exchange account, these items need to be set up as follows on the IIS computer and the Exchange server:

For more information on how to configure Exchange and IIS for anonymous access, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q195681
   TITLE     : HOWTO: Configure an Exchange Mailbox for Anonymous Access

Cause 2: Resolution

A difference between viewing Public Folders from Visual Basic and from Visual Basic Script in an ASP page is that in Visual Basic Script you need to use the GetFolder() method, which means you need to know the FolderID. If you do not know the FolderID, you need to determine the FolderID programmatically.

For an example of how to access public folders from an ASP, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q178552
   TITLE     : HOWTO: View Public Folder Contents from an ASP

Cause 3: Resolution

Your authentication control is set to "NT Challenge Response," and you are using Netscape Navigator for your browser. Netscape Navigator does not support "NT Challenge Response" as an authentication option. To log on to a user's Exchange account using Netscape Navigator as your browser, you need to set up the IIS authentication as "Basic (Clear Text)".

Cause 4: Resolution

You need to verify the following to ensure that proper permissions are set on the Exchange Server. For simplicity, this article assumes that Internet Information Server (IIS) is on the same computer as the Exchange Server.

To determine the authentication being used by IIS for this ASP, do the following:

Windows NT Challenge/Response or Basic Authentication:

The Windows NT user who is running the .asp page must have appropriate permissions to the mailbox that the .asp page is logging on to. Verify that the Exchange or Outlook clients can open the mailbox and the public folders without being prompted for authentication.

Anonymous Access:

If you are accessing IIS as the Anonymous user, you should either log on to the Exchange Server as an Anonymous user or follow the steps in the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q179332
   TITLE     : HOWTO: Programmatically Gain Anonymous Access to Public
               Folders

To logon to Exchange as an anonymous user, please see the instructions in the Remarks section of the CDO:Platform SDK article entitled "Logon Method (Session Object)" in the Microsoft Developer Network (MSDN) Library.

For sample code to help you determine what authentication level and user account is in use, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q189533
   TITLE     : PRB: MAPI_E_FAILONEPROVIDER Accessing Public Folder
               Through ASP

Cause 5: Resolution

If you are using a Windows 95 client, you might be trying to access any InfoStore related properties or methods except the AddressBook.

When using Collaboration Data Objects (CDO) with the ProfileInfo Logon parameter on Windows 95, access to the Store fails because the Emsmdb.dll file cannot handle a separate Remote Procedure Call (RPC) connection when running on Windows 95.

Emsmdb.dll is the file responsible for loading the various services used by the Messaging Application Programming Interface (MAPI) session.

Use one of the following methods to work around this:

For more information on this issue, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q183093
   TITLE     : FIX: MAPI_E_FAILONEPROVIDER Using Store Related
               Properties w/CDO

Additional query words:
Keywords          : kberrmsg kbole kbCDO110 kbCDO120 kbCDO121 kbMsg 
Issue type        : kbprb

Last Reviewed: November 18, 1998