Microsoft KB Archive/293422

From BetaArchive Wiki
Knowledge Base


xp_sendmail using a Microsoft Exchange 2000 mailbox fails with mail error 0x80004005 or 0x80007005

Article ID: 293422

Article Last Modified on 10/9/2006



APPLIES TO

  • Microsoft SQL Server 2000 Standard Edition



This article was previously published under Q293422

SYMPTOMS

When SQLMail is set to use a MAPI profile that is configured against a Microsoft Exchange 2000 mailbox, an xp_sendmail command may fail with one of the following error messages:

18025 level 16 state 1 line 0 xp_sendmail failed with mail error 0x80004005

-or-


18025 Level 16 State 1 Line 0 xp_sendmail failed with mail error 0x80070005

If you log into the mailbox on the SQL Server server by using a MAPI client, such as Microsoft Outlook, mail is sent successfully. Also, using a Microsoft Exchange 5.5 mailbox, instead of a Microsoft Exchange 2000 mailbox, works successfully.

CAUSE

Exchange 2000 introduces a different security structure, Access Control List (ACL), because it is completely integrated into the Microsoft Windows 2000 Active Directory. This new ACL method requires permission for "Send As" to exist both at the Exchange 2000 Information Store level as well as the Active Directory level. In this case, the SQL Server service account does not have "Send As" rights at the Active Directory level, therefore xp_sendmail fails on the submit of a message.

WORKAROUND

To make sure that the Active Directory account the MSSQLServer service is logging in as has "Send As" rights on the Exchange 2000 mailbox object in the Active Directory, follow these steps:

  1. Open the Active Directory Users and Computers Snap-In.
  2. Locate the user object directly associated with the Exchange 2000 mailbox and select it.
  3. Right-click to get the properties for this account or mailbox object.
  4. Click the Security tab. (If the Security tab is not showing, select Advanced Features from the View menu; this will show the Security tab.)
  5. In the Security dialog box, click Advanced.
  6. In the Access Control Settings for XXX dialog box, click ADD.
  7. Locate, and then select the Active Directory account that the MSSQLServer service is logging in as.
  8. Make sure that the Apply onto list box is set to This object and all child objects.
  9. In the Permission Entry for XXX dialog box, scroll down in the Permission pane, and under the Allow column, select Send As.
  10. Press OK three (3) times to apply the change on all the open dialog boxes.

This change may take some time to replicate through the Active Directory.

Keywords: kbprb KB293422