Using MFCMAPI to Delete an Out-of-Office Rule
The free Microsoft Foundation Classes Messaging API sample tool helps you perform Outlook maintenance and troubleshooting tasks.
October 23, 2005
Do you know how to use the Microsoft Foundation Classes Messaging API (MFCMAPI) sample tool to delete the Out of Office Assistant rule? I'm having a problem with the Out of Office Assistant and know that if I delete the rule, Outlook will recreate it.
MFCMAPI is a powerful, free tool from Microsoft for exploring Outlook folders and items and performing various maintenance and troubleshooting tasks. (For download details, see "MFCMAPI: A Useful Free Tool," May 2005, InstantDoc ID 46539.) If you already have a mail profile for the mailbox you want to work with, you're ready to get started. If not, follow the instructions in the Microsoft article "XADM: How to Get Service Account Access to All Mailboxes in Exchange 2000" (http://support.microsoft.com/?kbid=262054) to grant the Windows account you're using access to the Exchange Server mailbox store that contains the mailboxes you want to work with. (Be sure to follow your organization's security and privacy policies.)
Run mfcmapi.exe and click past the initial screen. If you want to work with an existing mail profile, choose Session, Logon and Display Store Table, and select the desired profile. Otherwise, choose Session, Logon Only, and select any Exchange profile. Then, choose MDB, Get Mailbox Table; enter the name of the Exchange server; and double-click the name of the mailbox you want to open. Regardless of the logon method you choose, after you've opened the mailbox you should be able to expand the Root Container node to see the folder hierarchy for the mailbox, as Web Figure 1 shows. (To see this figure, go to http://www.windowsitpro.com/microsoftexchangeoutlook and enter 47980 in the InstantDoc ID text box.)
Expand the Top of Information Store node, then right-click the Inbox and choose Open Associated Contents Table. This table contains the Inbox's "hidden messages" content, including not only Inbox-specific views but also all rules for incoming messages, such as the Out of Office Assistant rules. To make sense of the hidden messages, scroll to the right in the window that displays the associated contents until you see the Message Class column. The property in this column tells you the type of item that the row refers to.
Look for the item whose message class is IPM.Note.Rules.OofTemplate.Microsoft. This item is the actual out-of-office message that's returned to senders. If you select it and review its properties (in the property pane at the bottom of the window), you'll see that the PR_BODY property contains the text of the out-of-office message that the user created. You should also see at least one IPM.Rule.Message item, listed with the same Submitted time. This will be the Out of Office rule that returns the reply message. If you see more than one IPM.Rule.Message item that has the same Submitted time, the other item or items will represent other rules associated with the Out of Office Assistant feature. For example, the first three rows in Figure 1 contain three items, all submitted at the same time—two IPM.Rule.Message items and one IPM.Note.Rules.OofTemplate.Microsoft item. These were the last rules created for this particular folder and so appear at the top in the sample window.
To delete the out-of-office message and rules, select them in the MFCMAPI window, then press Delete. You can choose to move the items to the Deleted Items folder or permanently delete them. (Because these are hidden messages, they won't be available for deleted-item recovery if you delete them.) After you delete the old out-of-office message and rules, the user should create new ones.
It should go without saying that MFCMAPI is very powerful. The ability to drill down into the hidden portion of a user's mailbox is a great administrative tool but can also cause problems if you modify or delete the wrong items or properties. Before using any procedure like this on a real user's mailbox, be sure to test the procedure thoroughly.
About the Author
You May Also Like