To recover Zimbra mailboxes from a crashed Zimbra server, stop chasing the old install. Copy the /opt/zimbra folder (at least store, db/data and index) to a Windows PC, open it in Univik Zimbra Mailbox Recovery and export each mailbox as a Zimbra TGZ archive. The tool reads the message blobs and the MariaDB tables offline, so folders, read state, flags, tags, dates, contacts and calendar all come back. Import the TGZ into a fresh Zimbra through Preferences, Import/Export. A Zimbra Desktop data folder works the same way. If the server is encrypted or you would rather hand it over, our team recovers the mailboxes for you.
The disk failed. The power went out mid-write. A ransom note appeared in the store folder. Zimbra will not start, and the one thing everyone wants after a Zimbra server crash is the mail. The good news is that a Zimbra server keeps every message as a plain file on disk, with the folder tree and the flags in a database beside it. If you can copy that folder, you can get the mailboxes back, without the old operating system, the old Zimbra version or a working LDAP.
This guide covers the whole job: what to copy, why the usual Zimbra backup and restore routes fail on a dead server and how to rebuild every mailbox with the recovery software. It then shows how to import the result into a new Zimbra, Outlook, Thunderbird or Microsoft 365. It also covers the discontinued Desktop client that left years of local mail on people's PCs. Where a job is too big or too broken to do yourself, there is a done-for-you recovery service at the end.
- Before you start a Zimbra mailbox recovery
- Where Zimbra keeps the mail on disk
- Why the usual Zimbra restore routes fail
- Recover the mailboxes in 6 steps
- Step 1: Copy the Zimbra data folder to a Windows PC
- Step 2: Open the folder in Univik Zimbra Mailbox Recovery
- Step 3: Tick the Zimbra mailboxes and folders you need
- Step 4: Search the mailboxes when only some messages matter
- Step 5: Export to Zimbra TGZ, EML or MBOX
- Step 6: Import the recovered mailboxes into Zimbra
- Zimbra recovery test results and benchmarks
- Zimbra Desktop data folder recovery
- Zimbra ransomware recovery
- Done-for-you Zimbra recovery service
- Fix common Zimbra recovery problems
- Zimbra Mailbox Recovery Questions
Before You Start a Zimbra Mailbox Recovery
Three situations bring people to a Zimbra mailbox recovery. Pick the card that matches yours to jump to the right section.
- The copied Zimbra data folderFor a server, the /opt/zimbra tree (at least store, db/data and index). For the Desktop client, the whole profile folder. Copy, never move.
- A Windows PC with free disk spaceRoom for the copied folder plus the export. Count on the size of the store folder twice over. An external drive is fine, USB 3 or faster.
- A list of the mailboxes people need firstAccounts are recovered one by one, so the order matters when the boss wants the sales inbox today and the rest next week.
- A target for the recovered mailA fresh Zimbra install takes TGZ. Outlook and Thunderbird take EML or MBOX. Microsoft 365 wants PST, which is one conversion away.
- Store (blob)
- The folder where Zimbra writes every message as a plain RFC 822 file with a .msg extension. On a server it is /opt/zimbra/store, on the Desktop client it is a store folder inside the profile.
- Mailbox ID
- The number Zimbra gives each account. The store is organised by it, not by email address, so a store folder on its own does not tell you whose mail is inside.
- MariaDB tables
- Zimbra's metadata database. It maps each mailbox ID to an address and records folders, flags, tags, read state, dates and which blob belongs to which item. The Desktop client keeps the same data in SQLite.
- TGZ archive
- Zimbra's own export format. A .tgz holds messages plus a metadata file per item, so an import puts folders, flags and dates back exactly. Contacts and calendar ride along.
- Network Edition vs Open Source
- Zimbra Collaboration Suite (ZCS) comes in two editions. Only the paid Network Edition ships backup and restore commands such as zmbackup and zmrestore. The Open Source Edition (FOSS) has no backup module, which is why a crash on it usually means a raw folder copy.
- Zimbra Desktop
- The free offline client Zimbra discontinued in 2019, last version 7.3.1. It kept a local copy of every account in a data folder on the PC, in the same store plus database layout as the server.
Where Zimbra Keeps the Mail on Disk
The server is not one big database. Messages live as files, and everything that describes them lives in tables. Recovery works because both survive a crash far more often than the running services do. This is what each folder holds and what happens if it is missing.
| Folder on the server | What is inside | If it is missing |
|---|---|---|
/opt/zimbra/store | One .msg file per message, filed by mailbox ID and item ID. The actual mail, attachments included. | No recovery Nothing to rebuild from. Check the old disk again or an older backup. |
/opt/zimbra/db/data | MariaDB or MySQL InnoDB files. The zimbra database maps mailbox IDs to addresses. The mboxgroup databases hold folders, flags, tags, dates and the blob for each item. | Partial Messages come back as loose files with no folder tree, no read state and no owner name. Contacts and calendar are lost. |
/opt/zimbra/index | Lucene search index per mailbox. | Fine Rebuilt by the server after import. Not needed for recovery. |
/opt/zimbra/data/ldap | OpenLDAP with accounts, passwords, domains and server settings. | Fine for mail Mailboxes recover without it. Accounts are recreated on the new server before import. |
/opt/zimbra/conf and localconfig.xml | Passwords, keys, service settings. | Fine Only needed to revive the old install, which this guide does not attempt. |
The Desktop client uses the same idea on a smaller scale. On Windows the data lives in C:\Users\<name>\AppData\Local\Zimbra\Zimbra Desktop, with a store folder of .msg files, a sqlite folder for the metadata database and an index folder. On a Mac it is ~/Library/Zimbra Desktop, on Linux ~/zdesktop. Copy the whole folder, not only the store.
Never run zmfixperms, a reinstall or a repair script on the only copy you have. Copy the folder first with the services stopped, then work on the copy. A recovery tool that opens the copy read-only cannot make things worse.
Why the Usual Zimbra Restore Routes Fail on a Dead Server
Every forum thread about a crash goes through the same four ideas to restore Zimbra mailboxes. Each one works in a narrow case and wastes days outside it.
The official Open Source route. It needs the exact old build on the same operating system, a healthy LDAP and the old passwords. Admins with an 8.8.12 copy and an 8.8.15 installer hit a version mismatch and stop. Old builds for retired Ubuntu or CentOS releases are hard to find, and the copy often carries the fault that crashed the server.
Only the Network Edition has these commands, and both need a backup set made before the crash plus a working Zimbra to run inside. Zextras and NG builds add their own backup module, but only when it was switched on before the crash. On the Open Source Edition there is nothing to run. Forum reports of zmrestore stopping on a missing blob or restoring the wrong point in time are common even where it exists.
Scripts walk the store and feed every .msg file into a Recovered folder with zmmailbox or zmlmtpinject. Without the database there is no owner, no folder, no read state, no tags and no calendar. One admin ended with 200 GB in a single mailbox and no way to hand it back to its owners.
innodb_force_recovery, mysqldump of every mboxgroup, zmblobchk to reconcile blobs, db_recover on the LDAP mdb file. It can work when the damage is small. When the tables are marked crashed or LDAP reports MDB_CORRUPTED, the advice from Zimbra staff is the same: LDAP is restorable but not repairable. A wiped database is a job for a specialist.
The offline route avoids all four. Zimbra data recovery from a copied folder is a file-reading job, not a server repair. The MariaDB files can be read without MariaDB running. The SQLite file from the Desktop client opens anywhere. The blobs are plain mail. Put the two together and each mailbox comes back with its folder tree and metadata, without the old version, the old OS or LDAP.
Recover Zimbra Mailboxes in 6 Steps
The steps recover every mailbox with the recovery tool on a Windows PC. Zimbra does not need to be installed or running anywhere, and the copied folder is opened read-only.
Copy the Zimbra data folder to a Windows PC
On the old server, or on its disk mounted in a rescue system, stop what is left of Zimbra (zmcontrol stop) and copy /opt/zimbra to an external drive or a network share. If space is short, take store, db/data and index, in that order of importance. Keep the folder names and the tree as they are. A tar archive is fine, unpack it on the PC. For a Desktop client recovery, close it and copy the whole Zimbra Desktop folder from the user's profile.
You should havea folder on the PC that contains store and db (server) or store and sqlite (Desktop). Size on disk close to what the server reported for its mail volume.
Open the folder in Univik Zimbra Mailbox Recovery
Start the tool and click Open Zimbra Folder to pick the copied folder. Dropping the folder on the window works too. It detects a Zimbra Server tree (Zimbra 7 through Zimbra 10, Open Source or Network Edition) or a Desktop 7 profile on its own, reads the database files offline and lists every mailbox it finds. The header shows what was detected, for example Zimbra Server with the database version.

Step 2The start screen. Open the copied folder or drop it on the window. Nothing in the source is written to.
You should seethe Mailboxes tab with one row per account, each with its email address. If the list shows numbers instead of addresses, the zimbra database folder is missing from the copy. Go back to the server disk and fetch db/data in full.
Tick the Zimbra mailboxes and folders you need
Every mailbox is ticked at the start. Untick the ones you do not need, or expand a mailbox and tick single folders such as Inbox and Sent. The item count, folder count and size next to each account come from Zimbra's own tables, so they match what the admin console used to show. Mailboxes that show 0 items and 16 folders are the spam-training and system accounts the server creates for itself.

Step 3Every account the database knows, with item count, folder count and size. Expand a mailbox to tick single folders.
For a large server, open the Storage tab first. It ranks mailboxes by size, shows where the space goes folder by folder and gives a one-click Untick Trash and Junk everywhere. Save the report as CSV if the client wants a list of what was recovered before the export runs.

Step 3The Storage tab ranks mailboxes by size and offers one click to untick Trash and Junk everywhere before a big export.
Search the mailboxes when only some messages matter
Sometimes the job is not every mailbox but one contract thread, one custodian or the last three months. The Search tab searches subject, sender, recipients, contact names, attachment file names and tags across all mailboxes, with filters for mailbox and date. It is the fastest way to export Zimbra mail for one custodian or one date range. Open any hit in the reading pane to check it, then export the matches only. Skip this step for a full recovery.

Step 4Search across every mailbox, read the hits in the preview pane, then export only what matched.
You should seea result list with the mailbox name beside each hit and the reading pane showing the message with its headers and attachments.
Export to Zimbra TGZ, EML or MBOX
On the Export tab choose a format. Zimbra archive (.tgz) is the right choice when the mail goes back into Zimbra: folders, read state, flags, tags, dates, contacts and calendar are all kept. The file imports through the webmail without errors. EML files give one file per message in the same folder tree, with contacts as .vcf and calendar as .ics, ready for Outlook, Thunderbird or a converter. MBOX files give one file per folder for Thunderbird and Apple Mail. Pick a save folder, click Export selected and let the space check run.

Step 5Zimbra archive (.tgz) is the default because it imports straight back into Zimbra. EML and MBOX are for other mail programs.

Step 5The space check runs before anything is written. It adds a safety margin and warns when the target drive is too small.
On a store of millions of small files, Windows Defender scans every read and write and can make the run two to five times slower. The Add Defender exclusions button adds the source folder, the output folder and the program with one administrator prompt, and leaves protection on for everything else. If the run has to stop, start it again with Resume ticked and it carries on where it left off.
You should seeone .tgz per mailbox (or one folder tree of EML or MBOX files) in the output folder, and a log with the item count per mailbox that you can compare with the counts from Step 3.
Import the recovered mailboxes into Zimbra
Install a fresh Zimbra, create the accounts, then sign in to each one and use Preferences, Import/Export, Import with the account's .tgz. For many accounts use the command line as the zimbra user: zmmailbox -z -m user@example.com -t 0 postRestURL "//?fmt=tgz&resolve=skip" user.tgz. The -t 0 switch removes the timeout that silently drops messages from large files. Use resolve=reset only on an empty mailbox, because it clears what is there first.
Moving away from Zimbra instead? EML and MBOX open in Thunderbird and Apple Mail as they are. For Outlook or Microsoft 365, Zimbra to PST is one more step: convert the EML tree to PST with Univik Email Archive Converter and follow how to import PST to Office 365. For Gmail, see import PST to Gmail.
- Every account on the new server shows the same folder tree and item count that the Mailboxes tab listed for it
- Old messages open with the original date, sender and attachments. Read or unread state matches what users remember
- Contacts and calendar appear in their own tabs after a TGZ import, not as loose files in the Inbox
Zimbra Recovery Test Results and Benchmarks
Numbers you can check beat adjectives. The screenshots above show our small lab sample, a seven-mailbox Zimbra 8.8.15 server and a Zimbra Desktop 7.3.1 profile that synced two of those accounts. We audit the tool against that sample with a script that re-derives every item from the database files and checks it against the counters Zimbra itself left behind. The same tool has then run on real client stores from 500 GB to 77 TB.
| Lab audit, 4 September 2026 | Zimbra Server 8.8.15 | Zimbra Desktop 7.3.1 |
|---|---|---|
| Items the database lists | 306 in 7 mailboxes | 295 in 4 mailboxes |
| Items rebuilt, SHA-256 digest verified, parsed as mail | 306 of 306 | 295 of 295 |
| Partial or lost items | 0 and 0 | 0 and 0 |
| Message files on disk claimed by a database row | 288 of 288, no orphans | 283 of 283, no orphans |
| Folder counters reproduced (item count, unread, bytes) | Every folder | Every folder |
| Folders accounted for | 187 of 187 rows: 135 written as folders, 52 internal system nodes applied as tags and conversation links | |
| Same message on both copies | 276 of 276 shared messages byte-identical between the server export and the Desktop export | |
Two limits of that 100 percent, stated plainly. Messages users deleted before the crash are not in the database, the dumpster or the tombstones, so no tool can count or return them. And a lab sample is small and clean. On a real store the rate is set by how many message files the copy physically holds, which the export log reports per item with the expected path and digest.
Client stores of 500 GB, 2 TB and 77 TB have gone through the same reader and come back as TGZ, EML or PST. The 77 TB job is why the tool loads one mailbox at a time, streams big attachments and resumes after a stop instead of holding everything in memory.
On an NVMe drive with Defender exclusions in place, a full export runs at about 1 GB of store per minute, so a 500 GB server is a working day and 2 TB is a long weekend. A single USB hard disk on both sides is several times slower, because 100 million small files are a seek problem, not a CPU problem.
Mailboxes are read on demand, several at a time, with about 1 GB of RAM per million items per worker. A failed item or mailbox is logged and the run carries on. Free space is checked before every mailbox, and Resume skips finished mailboxes after a crash, a power cut or a cancel.
One line per mailbox with its item count and one line per problem item with the expected path and digest. Insurers, auditors and the people whose mail is gone get the same list. A re-run after a better copy arrives fills the gaps.
Source copy and output on two different drives, both SSD if you can. Archive compression set to Fast or None. Mailboxes at a time raised on SSD and kept at 2 to 4 on a spinning disk. Defender exclusions added from the Export tab. Output kept out of OneDrive and other synced folders.
Univik Zimbra Mailbox Recovery reads Zimbra Server 7 to 10 and Zimbra Desktop 7 data folders on any Windows PC, read-only, with no Zimbra install. Export to TGZ, EML or MBOX with folders, flags, tags, dates, contacts and calendar intact.
Windows 11 / 10 · runs offline, your data stays on your PC · the trial lists every mailbox before you buy
Zimbra Desktop Data Folder Recovery
Zimbra Desktop was the free offline client that synced Zimbra, Gmail, Yahoo and IMAP accounts to a local copy. Version 7.3.1 was the last release and support ended on 1 October 2019. Many PCs still hold years of mail in it, and three things go wrong. An upgrade or a reinstall creates a fresh profile and the old one sits unread in a renamed folder. Local Folders, which never existed on any server, are the only copy of that mail. And the client's own Import/Export writes a .tgz with only metadata and no messages once an account has more than about 79 folders, a bug that was never fixed.
Zimbra Desktop recovery follows the same steps as a server, one mailbox per account. Close the client, copy the whole Zimbra Desktop folder from AppData\Local\Zimbra (or the renamed old profile) and open it in the tool. The SQLite database inside gives every account, folder and flag. The store gives the messages. Export Local Folders and the account mail as TGZ to load into a Zimbra account, or as EML or MBOX to move into Thunderbird or Outlook. Opening the .msg files from the store in Outlook does not work, because they are internet mail files, not Outlook message files.
Zimbra Ransomware Recovery
These servers have been a favourite target since 2022. Mass exploitation of CVE-2022-27925 hit more than a thousand servers, MalasLocker encrypted mail stores in 2023 and left a README.txt in /opt/zimbra/store, and CVE-2024-45519 was exploited within weeks of its patch. Zimbra's own advice after a breach is to rebuild the server, not to clean it, because webshells planted before the patch survive the update. Zimbra ransomware recovery therefore means rebuilding the mailboxes from a copy, never repairing the infected install.
For the mailboxes, the question is how many the attacker touched and how many you can still recover. Take the server offline and image the disk before anything else. Then copy /opt/zimbra from the image. Open the copy in the recovery tool. Messages the encryptor skipped show normally and export as usual. Messages it reached will fail to parse, and the log lists them by mailbox, which is the list you give to insurers and to the people whose mail is gone. Encrypted blobs cannot be rebuilt without the key, and there is no public decryptor for the Zimbra campaigns, so the export is the honest measure of what survived.
When an old backup exists, run the same tool on the backup copy of /opt/zimbra and merge both exports: the backup for everything up to its date, the live copy for anything newer the encryptor missed. That combination usually returns more mail than either source alone.
Done-for-you Zimbra Recovery Service
Not every crash lands on someone with the time to run the software. The Univik team recovers mailboxes for companies, schools and hosting providers that would rather hand the job over, with the same software and a specialist at the keyboard. We need one thing from you: the Zimbra data folder, copied from the server disk or the Zimbra Desktop profile. No admin access to your network, no working Zimbra, no old passwords.
Crashed or unbootable servers. Ransomware and breach clean-ups. Failed upgrades. Mailboxes pulled from an old backup. Zimbra Desktop profiles. Open Source and Network Edition, versions 7 to 10.
Ship a drive, or upload an archive to a private link we provide. We keep spare drives in stock, so a recovery starts the day the data arrives instead of waiting on hardware.
One TGZ per mailbox for a new Zimbra server. PST, EML or MBOX when the target is Microsoft 365, Outlook, Thunderbird or Google Workspace. A count report per mailbox and a list of anything that could not be read.
Your copy is worked on offline and never uploaded to a third party. It is wiped from our drives after you confirm the import. A signed NDA is available before anything is sent.
Open live chat and tell our recovery expert the Zimbra edition, the number of mailboxes and the size of the store folder. You get a fixed quote and a turnaround in the same conversation, most jobs in a few working days from the moment the data arrives.
Also moving off Zimbra? The same recovery feeds a migration to Microsoft 365 or Google Workspace, so the mail is rebuilt once and lands in the new system.
Fix Common Zimbra Recovery Problems
Four faults account for most stalled recoveries. Find yours in the numbered card and follow the Do this text under it.
Do this: The zimbra database or the mboxgroup tables are missing from the copy. Go back to the server disk and copy /opt/zimbra/db/data in full, including the ibdata file and every mboxgroup folder, then open the folder again.
Do this: The blob is encrypted or truncated. On a ransomware case that is expected, keep the log as the loss list. On a crash, the file may sit in lost+found on the old disk with a different name. Copy that folder too, the tool matches blobs by digest.
Do this: The webmail import times out on large files. Use zmmailbox with -t 0 instead, and import one mailbox at a time. If a mailbox already holds mail, use resolve=skip so nothing is overwritten.
Do this: The upgrade moved the old profile. Look for a folder next to Zimbra Desktop with a name ending in .tmp or a version number, and open that one. The old store and sqlite folders are inside it.
Server too far gone, or the clock is running? Tell our recovery expert on live chat the edition, the mailbox count and the store size. You will know within a working day whether the mail is recoverable and what it costs.
Zimbra Mailbox Recovery Questions
Written and maintained by Leena Taylor Paul and the Univik team, developers of Windows data conversion and recovery software since 2013. The Zimbra folder layout, the Open Source Edition backup limits, the Zimbra Desktop paths and end of support date, the TGZ import commands and the ransomware timeline in this guide were checked against the Zimbra wiki, the Zimbra product lifecycle page, the Zimbra forums and the security reports linked below. The lab audit figures come from our own audit script run on a Zimbra 8.8.15 store and a Zimbra Desktop 7.3.1 profile on 4 September 2026, and the field figures from client recoveries our team completed with the same tool. Last verified September 7, 2026. Need a hand? Contact our support team.
Sources checked: Zimbra wiki, Account mailbox database structure · Zimbra wiki, Open Source Edition backup procedure · Zimbra wiki, Zimbra Desktop 7.2 FAQ · Zimbra product lifecycle · Zimbra blog, Get your data in and out of Zimbra · Volexity, Mass exploitation of CVE-2022-27925 · Zimbra forums, MalasLocker thread