Unexpected Sync Behavior with Outlook and IMAP

Applies to SmarterMail 14.4 - 15.x

Problem:

When syncing my SmarterMail account to Outlook via an IMAP connection, odd syncing behavior is noticed within Outlook:
 
  • Inability to delete items
  • When composing an email, perpetual drafts are saved and are not removed upon sending the message
  • When attempting to move a message from one folder to another, the message appears in the new folder as expected but remains in the old. (In essence, it is copied, not moved.)

Solution:

First, review your SmarterMail IMAP logs to determine if the issue is caused by an incorrect UID Validity Value of 0. Then, if a value of 0 is found, force an update to change all UID Validity Values from 0 to 1. 
 

Details:

UID Validity Values are utilized when syncing SmarterMail emails via IMAP. In SmarterMail 14.4.5784, we performed a clean up of these values so that, moving forward, all UID Validity Values equal 1 or higher. SmarterMail contains the code to update these values on an upgrade; however, we've found some instances where the update wasn't completed in its entirety (though the process shows as being 'Done' within the mailConfig.xml file). Because newer versions of Outlook require a UID Validity Value of 1 or higher, any values remaining as 0 in SmarterMail can cause unexpected syncing behavior in Outlook. 
 
Determining if the issue is caused by an incorrect UID Validity Value of 0
To determine whether the odd syncing behavior is caused by a bad UID Validity Value, first review the IMAP logs for the account experiencing the issue:
 
  1. Log into SmarterMail as a System Administrator.
  2. Click on the Manage icon.
  3. Click View Logs.
  4. Select an appropriate date range and change the Type to IMAP. For the Search String, enter the email address of the user experiencing the problem. 
  5. Click Search
  6. In the logs that are returned, look for the UID Validity Value of the specific folder(s) the user is interacting with. The line(s) you're looking for will be similar to: 
    * OK [UIDVALIDITY 0] UIDs valid
    
(If all UID Validity Values show a correct value of 1 or higher, please submit an Email or Phone Ticket for a further review of this issue with the SmarterTools Support Department.) 
 
Forcing an update to change all UID Validity Values from 0 to 1
If you find a UID Validity Value of 0, you will need to force SmarterMail to complete the global UID update process:
 
  1. Sign into the server where SmarterMail is installed.
  2. In the server's Services panel, Stop the SmarterMail service and verify the mailservice.exe is no longer running.
  3. Navigate to the mailConfig.xml file, which, by default, is located at C:\Program Files (x86)\SmarterTools\SmarterMail\Service.
  4. Make a backup copy of the mailConfig.xml file.
  5. Open the mailConfig.xml file in a text editor, like Notepad. 
  6. Find the following line: 
    <uidVvFixProgress>done</uidVvFixProgress>
    
  7. Remove the word "done" from between the HTML tags, so that the line looks like this: 
    <uidVvFixProgress></uidVvFixProgress>
    
  8. Optional: To reduce the load on your mail server, you can also throttle the number of mailboxes that are updated per hour. To throttle the update process, add the following line beneath the <uidVvFixProfress> tag shown in step #6. Replace the "XX" with the number of mailboxes to process per hour: 
    <maxUidVvFixesPerHour>XX</maxUidVvFixesPerHour>
    
  9. Save the mailConfig.xml file. 
  10. Restart the SmarterMail service. 
 
After restarting the SmarterMail service, any account that had a UID Validity Value of 0 will be updated to 1. Any user that was effected by this change will need to force a resync of the IMAP account within Outlook. Once the process completes, Outlook should behave as expected.