Hello everyone,
I recently migrated 114 mailboxes from a legacy Zimbra server to Carbonio (Zextras). While the migration seemed successful and all emails are visible in the Carbonio Webmail, we are facing a critical issue with IMAP clients (Thunderbird, K9 Mail).
The Problem: IMAP clients only see/sync emails up to the migration date. Any new emails arriving after the migration are visible in Webmail but are NOT fetched by IMAP clients.
Environment:
-
Carbonio CE (latest)
-
Clients: Thunderbird on Windows Server 2016 (Terminal Server), K9 Mail on Android.
-
Migration path: Zimbra TGZ export/import.
What we have tried so far:
-
Reindexing: Ran
zmprov reIndexMailbox user@domain.com start. No change for IMAP clients. -
Manual UID Bump: If we create a temporary folder, move messages there and then back to Inbox, the IMAP client "wakes up" and sees the messages because they received new UIDs.
-
New Profile: Creating a completely new IMAP profile in K9 Mail still shows only old messages (pre-migration).
Observation: It seems that the UIDNEXT or MODSEQ values are somehow inconsistent or the IMAP index is corrupted in a way that doesn't trigger a sync for new items.
My Question: Is there a more efficient way to "reset" or "restart" the IMAP UID sequence (UIDVALIDITY/UIDNEXT) for a mailbox or a specific folder without manually moving thousands of messages back and forth? With 114 users and some mailboxes having 70k+ messages, the manual "move" method is extremely slow.
Is there any CLI command or database script to force a regeneration of the IMAP index/UIDs for a given account?
Thank you for any advice!
Could you please share what method you used to migrate the data?
Also what is your observation on followings:
- webmail & Carbonio Mail APP
- 3rd-party client for desktop (i.e. outlook, thunderbird etc) and 3rd-party client for mobile (i.e. native gmail app, k9 etc.)
It is recommended to use supported platforms (i.e supported browser, native app) to get the best experience for carbonio CE.
Regards,
This issue typically happens when `UIDVALIDITY` or `HIGHESTMODSEQ` states get out of sync during live migration or imapsync transfers. When mail clients (like Thunderbird or K9 Mail) connect over IMAP, they cache the mailbox `UIDVALIDITY` and the last known `UIDNEXT`. If the server index on Carbonio assigns UIDs lower than or overlapping with what the local client cached during sync, the client assumes no new items exist and ignores incoming mail even though Webmail indexes them correctly.
Instead of manually moving messages between folders to force new UIDs, you can resolve this server-side using Carbonio/Zimbra CLI:
1. **Force a Mailbox Re-index & Cache Invalidation:**
Execute a full re-index to fix local metadata pointers:
```bash
zmprov reIndexMailbox user@domain.com start
-
Purge Local Client Cache / Trigger UIDVALIDITY Reset: Since local clients store the folder state, the cleanest way to force a full re-sync across all 114 accounts without modifying server data is to force a
UIDVALIDITYchange on the target IMAP folder or delete the client's local cache file (imapsync.dator.msfsummary files in Thunderbird). -
Check Dovecot / Zimbra IMAP Proxy Caching: If you are running behind a proxy node, restart the proxy service to clear cached IMAP session states:
zmproxyctl restart
If IMAP index corruption or UID tracking continues to block live sync across large mailboxes, BitRecover Zimbra Converter serves as an offline fallback to extract mailboxes, folder structures, MAPI headers, inline images, and native attachments (PDF, XLS, EML, JPEG, PNG, DOCX) directly.
<ElicitationsGroup message="Next steps or further options:">
<Elicitation label="Draft a brief 2-sentence version" query="Can you shorten this Zextras Carbonio forum reply into a brief 2-sentence version?"/>
<Elicitation label="Draft a reply for another forum thread" query="I have another forum thread URL to draft a response for."/>
</ElicitationsGroup>
