When you create a package that uses SQL Server's Data Transformation Services (DTS) Send Mail task to send messages, a sender's mailbox fills up steadily because DTS reports error messages such as:
Cannot execute package because mailbox is full.
However, if you review the sender's Microsoft Outlook SentItem
folder and check the mailbox size, the mailbox size is near 0 KB, and nothing is in the sender's mailbox from Outlook's point of view.
If you check the sender's mailbox size from the Exchange Server Administrative console, the correct size of the mailbox displays. However, you cannot see the messages that fill up the mailbox because those messages are hidden from Outlook and the Exchange Server.
The Outlook and Exchange clients cannot view any items under the root directory of the Exchange Server Information Store. After DTS Send Mail sends out the message, DTS keeps the message in the root folder of the sender's (source) mailbox on the Exchange Server. Therefore, the sender's Outlook client cannot view or delete these messages.
Use the Microsoft Exchange utility, MDB Viewer, to view the hidden e-mail messages that fill up the mailbox. You can also use MDB Viewer to delete those messages.
Follow these steps to check the root folder of the mailbox that is configured for use by DTS Send Mail:
- Copy the following files to a computer on which Outlook is installed:
You can find the Mdbvu32 utility and the accompanying DLL files on the Exchange Server 5.5 CD-ROM in either the \Server\Support\Utils\I386 folder or the \Server\Support\Utils\Alpha folder.
- Verify that a profile exists for the user's mailbox, that the profile is selected as the default profile, and that a user (who has permission to the user's mailbox) is successfully logged on to the client workstation.
- Make sure that Outlook is not currently running on the workstation.
- Start MDB Viewer by double-clicking the MDBVU32.exe executable file.
- When the MAPILogonEx dialog box opens, select the MAPI Explicit Profile check box, and then click OK.
- When the Choose Profile dialog box displays, select the profile you created in the previous steps, and then click OK.
NOTE: If the Choose Profile dialog box does not appear, you are probably already logged on to a profile. Exit, log off the client and the profile, and then try again.
- On the MDB Viewer Test Application menu, click MDB, and then select the OpenMessageStore option.
- In the Select Message Store To Open dialog box, select the Attendant (Server) display name, and then click Open. (Open Mode should default to Best Access, which you want to leave as the default.)
- From the MDB Viewer Test Application menu, click MDB, and then click Open Root Folder.
At this step, you see that the message sent by DTS "DTStest1" is located in the root directory of the profile used by DTS. The root directory is hidden from the client side, so use Outlook. You cannot see this message, but it is stored in that mailbox even after it is sent out to the recipient. This explains why the mailbox is full, but Outlook could not see anything in this mailbox.
- Inside the MAPI_FOLDER ROOT window, select the second box named Operation Available. Select Operation, and then click Call Function. Select the function named lpFld_DeleteMEssages, and then click Call Function to delete the selected message in the root directory.
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server 7.0.
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
INF: How to Obtain Service Pack 3 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
For more information, contact your primary support provider.
If you use the Send Mail task in the DTS GUI designer, mail is not saved in the Sent Items folder by default. The DTS GUI does not have an option to change this behavior in the current version. However, you can change the behavior by using Microsoft Visual Basic code:
Dim myPackage As New DTS.Package
Dim oCustomTask3 as DTS.SendMailTask
Set oTask = myPackage.Tasks.New("DTSSendMailTask")
Set oCustomTask3 = oTask.CustomTask
oCustomTask1.SaveMailInSentItemsFolder = False
For additional information, click the article number below
to view the article in the Microsoft Knowledge Base:
FIX: SQL Agent Mail May Cause E-mail to Be Written to Root Directory of Source Mailbox