Knowledgebase: Technical
How do I fix missing or duplicate eMails in WebClient?
Posted by Dayan D. Jeremiah, Last modified by Dayan D. Jeremiah on 18 February 2015 08:19 AM

TYPICAL SYMPTOMS

  1. Missing emails and or folders in WebClient
  2. Duplicate emails in WebClient
  3. Unable to login to WebClient
  4. New emails are visible in the storage and in your email client but missing in WebClient
  5. When clicking on an email in WebClient no content is loaded
  6. Red Bar after logging into WebClient or when clicking on an email

WebClient cache is either stored in the each individual users folder; for example under /mail/domain.com/alias/~webmail/cache.db  or within a central database. The default cache storage is the individual cache.db file. All user folders and emails are stored in global default location specified in Storage > Directories > Mail path: . Some domains or users however may have different storage locations and this would be defined within the Domain's Option > Folder: or mailbox Options > Mailbox path: .

To confirm if your system is using the individual cache.db file or a central database please check the database settings under GroupWare > WebClient > [DB Settings...] . If your Database: value is %WMUSERPATH%cache.db  then your server is using the individual cache.db file , any other value would most likely indicate that a central database is being used.

RESOLUTION - If Using Individual cache.db

  1. Get the user to log out from WebClient
  2. Delete the users ~/webmail/cache.db file
  3. Run the users Directory Cache from Domains & Accounts > Management > domainname.com > Users > alias > Options > [Refresh Directory Cache]
  4. Get the user to log into WebClient again, IceWarp will automatically rebuild a new cache.db file
    • NOTE : The first login after deleting the cache.db file will be slower as the server needs time to rebuild the file. The amount of time taken would depend on the size of the mailbox and the storage IOPS performance.

RESOLUTION - If Using a Central Database

  1. Get the user to log out from WebClient
  2. Connect to your database using an SQL Manager or use the IceWarp built-in SQL Manager in File > SQL manager...
  3. Use the WebClient database
  4. Execute the following query; replace user@domain.com with the users full email address
    • DELETE i FROM item AS i INNER JOIN folder on i.folder_id = folder.folder_id WHERE folder.account_id = 'user@domain.com'
    • Before continuing to the next step make sure the deletion process in Step #4 has completed with NO errors. Do not proceed until you are sure that all data in the item table for user@domain.com has been deleted as any leftover data will cause problems with the users WebClient. If an error occurs run the query once more until no errors are returned.
  5. Execute the next query; replace user@domain.com with the users full email address
    • DELETE FROM folder WHERE folder.account_id = 'user@domain.com'
    • If an error occurs when running the query in Step #5 run the query once more until no errors are returned.
  6. Run the users Directory Cache from Domains & Accounts > Management > domainname.com > Users > alias > Options > [Refresh Directory Cache]
  7. Get the user to log into WebClient again, IceWarp will automatically rebuild the users cache in the central database
    • NOTE : The first login after delete the users central database cache will be slower as the server needs time to rebuild the cache entries. The amount of time taken would depend on the size of the mailbox, database performance and the storage IOPS performance.

 

(1 vote(s))
Helpful
Not helpful