Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

All e-mail messages for some users may be put in the deleted items folder


View products that this article applies to.

Symptoms

On a computer that is running Microsoft Exchange Server 2007, you may find that at seemingly random times certain users report that all e-mail messages are delivered delivered to the deleted items folder.

↑ Back to the top


Cause

Inside a mailbox of each user within the associated contents folder for the Calendar is a message together with a class of IPM.Configuration.Calendar. This item holds Calendar configuration data that includes a property that is named PR_ROAMING_DICTIONARY. This is a binary property that uses XML data that contains many settings. One these settings is named AutomateProcessing. The AutomateProcessing setting has 3 values: 0 � None, 1 � AutoUpdate, and 2 � AutoAccept. If at any time a user�s calendar has a value set to 2 for AutoAccept, e- mail messages delivered to that user are automatically moved to the deleted items folder. Only resource mailboxes should ever have this value set to 2 or AutoAccept.

The reason this is set on regular mailboxes is because Outlook is configured to point to a resource mailbox and reads this value in the Roaming Preferences and creates a local setting in the profile. That setting represents whether the Calendar Assistant is enabled on the mailbox. In this case, it sees a setting which equates to AutoAccept. Also, when Outlook runs its background tasks, it takes all the Roaming Preferences from the server messages, and from the local profile, and makes sure that the server has the same settings and pushes the Roaming Preferences back to the server.

As long as this profile is only connected to a resource mailbox, it works correctly. However, if the profile is changed to point to a user�s mailbox, Outlook publishes the AutoAccept value back to the server. When this happens, the MailboxCalendarSettings in the PR_ROAMING_DICTIONARY is overwritten. This behavior causes the server-side calendar assistant to deliver new messages to the deleted items folder.

↑ Back to the top


Workaround

To prevent this every time that a user has to connect to another mailbox, a new profile should be created.

↑ Back to the top


Resolution

To resolve this problem, use one of the following methods:

Method 1: Change the parameter for one mailbox

  1. Start an Exchange Management Shell command prompt.
  2. Run the following cmdlet:
    set-mailboxcalendarsettings username -automateprocessing: Autoupdate

Method 2: Change the Automateprocessing parameter for multiple mailboxes

To change the option for the Automateprocessing parameter for multiple mailboxes, follow these steps:
  1. Start the Exchange Management Shell.
  2. To determine for which mailboxes the autoaccept option is set, run the following cmdlet:
    get-mailbox | get-mailboxcalendarsettings | where {$_.automateprocessing -eq "autoaccept"} | ft identity, automateprocessing
  3. To change the autoaccept option on the mailboxes to the autoupdate option, run the following cmdlet:
    get-mailbox | get-mailboxcalendarsettings | where {$_.automateprocessing -eq "autoaccept"} | Set-MailboxCalendarSettings -AutomateProcessing autoupdate
  4. To verify that the autoaccept option is not set for any mailboxes, run the following cmdlet:
    get-mailbox | get-mailboxcalendarsettings | where {$_.automateprocessing -eq "autoaccept"} | ft identity, automateprocessing
Note This command should not return any mailboxes in the output.

↑ Back to the top


More information

The Exchange Management Shell does not let you to set the AutomateProcessing parameter to AutoAccept for a user's mailbox. If you try to set the AutomateProcessing parameter to AutoAccept for a user's mailbox, the EMS displays the following error:
AutoAccept can only be enabled on resource mailboxes.

Therefore, theoretically, there is supposed to be no way for a regular mailbox to access this configuration. However, if you are using the same Outlook profile for both a user and a resource mailbox, you can use the following process to allow a regular mailbox to access this configuration:
  1. Create an Outlook profile for a regular mailbox (User1) on Exchange Server 2007.
  2. Start Outlook with this profile.
  3. Exit Outlook.
  4. Examine the local Outlook profile by using MFCMAPI. To do this, follow these steps:
    1. Start MFCMAPI
    2. On the Profile menu click Show Profiles
    3. Double-click the profile that you just created.
    4. On the Service Admin menu click Call OpenProfileSection.
    5. Click OK
    6. Click OK in the dialog box that appears that states "This is not an error..."
    7. In the bottom pane, scroll down the list of properties and look for the 0x04570003 property.

      Note You should not see this property if you are working with a new profile. However, if you do see this property, the value for a user's mailbox should be either 0 or 1. The following table is the profile property that stores the setting that corresponds to the AutomateProcessing parameter for the mailbox.
      0x04570003 value               AutomateProcessing setting
      ----------------------------------------------------------------
                0                             none
                1                             AutoUpdate
                2                             AutoAccept (should only be 2 for resource mailboxes) 
      
    8. Exit MFCMAPI.
  5. Examine the related property stored in the mailbox of User1. To do this, follow these steps:
    1. Start MFCMAPI
    2. On the Session menu click Logon and Display Store Table.
    3. Select the profile that you just created and then click OK.
    4. Double-click the entry for Mailbox - User1.
    5. Expand the tree until you see the Calendar folder for the mailbox.
    6. Right-click the Calendar folder and select Open Associated Contents Table.
    7. Locate and select the message that uses Message Class = IPM.Configuration.Calendar.
    8. In the bottom pane, double-click the PR_ROAMING_DICTIONARY property.
    9. In the Text pane of the Property Editor, look for the following entry: <e k="18-AutomateProcessing
      Note You should not see this property if you are working with a new mailbox. However, if you do see this property, the value for a user's mailbox should be either 0 or 1. The following table is the profile property that stores the setting that corresponds to the AutomateProcessing parameter for the mailbox.
      PR_ROAMING_DICTIONARY value                       AutomateProcessing setting
      ---------------------------------------------------------------------------------
      <e k="18-AutomateProcessing" v="9-0"/>           none
      <e k="18-AutomateProcessing" v="9-1"/>           AutoUpdat
      <e k="18-AutomateProcessing" v="9-2"/>           AutoAccept (should only be 2 for resource mailboxes)
      
    10. Exit MFCMAPI
  6. Create an Exchange 2007 Resource mailbox (Room1)
  7. Configure the Resource mailbox to automatically process meeting requests by using the following command:
    Set-MailboxCalendarSettings Room1 -AutomateProcessing autoaccept
  8. In the Exchange Management Console, give User1 Full Access permissions to the Room1 mailbox by clicking Manage Full Access Permissions in the EMC.
  9. On the Outlook client, use the Mail control panel to open the profile created in step 1.
  10. In the Account Settings dialog box, select the Exchange account and then click Change.
  11. Change the User Name value to the name of the Resource mailbox (Room1).
  12. Click Next and then click Close.
  13. Close any other open windows for the profile.
  14. Start Outlook with this profile.
  15. Enter the credentials for User1 (if you are prompted).
  16. Exit Outlook.
  17. Examine the Outlook profile that uses MFCMAPI. To do this. follow these steps:
    1. Start MFCMAPI
    2. On the Profile menu click Show Profiles
    3. Double-click the profile that you just created.
    4. On the Service Admin menu click Call OpenProfileSection.
    5. Click OK in the OpenProfileSection dialog box.
    6. Click OK in the dialog box that appears and states "This is not an error..."
    7. In the bottom pane, scroll down the list of properties and look for the 0x04570003 property.

      Note The value of 0x04570003 is now set to 2. This is the value that is used for resource mailboxes with AutomateProcessing set to AutoAccept.
  18. On the Outlook client, use the Mail control panel to open the same profile that you used in the previous steps.
  19. In the Account Settings dialog box, select the Exchange account and then click Change.
  20. Change the User Name value to the name of the user mailbox (User1).
  21. Click Next and then click Close.
  22. Close any other open windows for the profile.
  23. Start Outlook with this profile.
  24. Examine the Outlook profile by using MFCMAPI. To do this. follow these steps:
    1. Start MFCMAPI
    2. On the Profile menu click Show Profiles
    3. Double-click the profile you just created.
    4. On the Service Admin menu click Call OpenProfileSection.
    5. Click OK in the OpenProfileSection dialog box.
    6. Click OK in the dialog box that appears and states "This is not an error..."
    7. In the bottom pane, scroll down the list of properties and look for the 0x04570003 property.
      Note The value of 0x04570003 is still set to 2 even though this value is used for resource mailboxes with AutomateProcessing set to AutoAccept.
    8. Exit MFCMAPI.
  25. Examine the hidden property in the User1 mailbox by using MFCMAPI. To do this. follow these steps:
    1. Start MFCMAPI
    2. On the Session menu click Logon and Display Store Table.
    3. Select the profile that you just created and then click OK.
    4. Double-click the entry for Mailbox - User1.
    5. Expand the tree until you see the Calendar folder for the mailbox.
    6. Right-click the Calendar folder and select Open Associated Contents Table.
    7. Locate and select the message that uses Message Class = IPM.Configuration.Calendar.
    8. In the bottom pane, double-click the PR_ROAMING_DICTIONARY property.
    9. In the Text pane of the Property Editor look for the following entry: <e k="18-AutomateProcessing"
      Note If you are encountering this problem, this value is <e k="18-AutomateProcessing" v="9-2"/> even though the "2" in this value is only for resource mailboxes.
  26. Run the following command in the Exchange Management Shell:
    Get-MailboxCalendarSettings User1 | FL
    
  27. Note the value of the AutomateProcessing parameter. In this scenario, it is set to AutoAccept even though the User1 mailbox is a user mailbox.

What happens is that at step 14, Outlook reads the property from the hidden message in the resource mailbox and syncs this down to the Outlook profile in the registry. This is why in step 17 you see the Outlook profile has a value of 2 stored in the registry. Then, when you use that same profile to open a user's mailbox (after you make the profile changes in steps 18-21) Outlook syncs the value from the registry up to the hidden message in the user's mailbox. This is why you now see the AutomateProcessing property value set to 2 in step 25 even though you are now looking at the user's mailbox.

↑ Back to the top


Keywords: KB959960, kbtshoot, kbprb, kbexpertiseadvanced, kbautoupdate, kbsurveynew

↑ Back to the top

Article Info
Article ID : 959960
Revision : 3
Created on : 1/20/2010
Published on : 1/20/2010
Exists online : False
Views : 313