Mail file import and export
Restow reads mail files, such as the remains of a mailbox that no longer exists but has to be kept, into a legacy mailbox you can browse and restore, and it writes mail back out as files from backups, imported mailboxes and the archive. It is available since 0.1.0 (beta) in every edition, and it states what it cannot do next to what it can.
What can be imported
- EML: single files, folders or a ZIP.
- MSG (Outlook): single files, folders or a ZIP. Only mail messages; calendar items, contacts and tasks saved as MSG are reported as "not mail" and not imported.
-
MBOX: Thunderbird (including its
.sbdfolders), Apple Mail, Dovecot and Postfix exports, and Google Takeout. - ZIP: the folder structure inside the archive becomes the folder structure of the mailbox, with EML, MSG and MBOX inside.
- MailStore: an export as an EML or MSG folder tree, or a ZIP of it. MailStore's internal archive format cannot be read; in MailStore, export the mail to the file system as EML or MSG.
How files get in
You can upload files in the browser. The upload is chunked and resumable, up to 10 GB per file by default, and every chunk carries a SHA-256 checksum. Each chunk is sealed with the tenant key as soon as it arrives, from the first byte, and stored on your storage target, so no plaintext copy of the file is written to a disk. The file type is recognised by its content, never by its extension.
The alternative is a server-side import folder, mounted read-only, with one subfolder per tenant. The administrator places files or whole folder trees there, for example a MailStore export, and selects them in the interface. Restow never writes to that folder and never empties it, and it checks that every path stays inside the tenant's own subfolder.
What you get
An import creates an "Imported mail files" source with a legacy mailbox that keeps the folder structure. It appears in the restore explorer like any other mailbox, marked as imported. You can browse it, search it, preview and print messages, download them, and restore them into an existing IMAP account or a Microsoft 365 mailbox (under a new restore folder; existing items are never replaced). There is no "restore to the original", because there is no original. Each import adds a new snapshot that contains everything before plus the new mail, so you can build a legacy mailbox from several files in turn.
- EML and MBOX are stored byte for byte. An MSG file contains no ready-made email, so Restow reconstructs an EML from the stored properties (headers if Outlook stored them, text, HTML, attachments, embedded messages). The report counts these messages as reconstructed from MSG.
- A message with the same Message-ID and the same SHA-256 in the same folder is a duplicate: it is not stored again, but it is counted and listed. Importing the same file twice produces "nothing new" and no snapshot.
- Every unreadable or damaged item is listed with its reason in the import report, and harmless leftovers such as empty files are listed as skipped. Nothing drops out silently.
- If the import worker restarts, it continues where it stopped and never reads a message twice.
Optionally you can ingest the imported mail into the archive: each new message becomes an archive object with its original bytes, hash chain, the archive retention rules and full-text search. The retention period starts on the import date, not on the date of the message, and immutability applies from ingestion onward.
Export
You can export mailboxes or folders from backups (Microsoft 365 mailboxes and IMAP accounts), imported mailboxes and the archive, as one of two formats:
-
EML in a ZIP file: one
.emlper message with the folder structure, plusMANIFEST.csvandSHA256SUMS(checkable withsha256sum -c). The bytes are the stored originals. -
MBOX: a single folder becomes one
.mboxfile, several folders become a ZIP with one.mboxper folder, plus manifest and checksums.
The export file is written encrypted to your storage target, and while it is written the SHA-256 of every message is checked against the manifest, so a damaged chunk stops the export instead of producing a silently faulty file. The download link is valid for 24 hours. The request and every download are written to the audit log, and exports of other people's data carry a stated reason. Only mail is exported: calendar items and contacts are counted in the report, not exported.
Stated limits, not hidden ones
- PST and OST files are recognised and refused with an explanation. PST import, PST export and MSG export are planned, see the roadmap. EML in a ZIP contains the same messages in their original form.
- Calendar items and contacts in MSG files are not imported, and MailStore's internal archive format cannot be read.
-
From MSG, a body that exists only as RTF is not decoded (Restow
uses the text body), and attachments that only point to a file are
dropped. Other archive types (gz, 7z, rar, tar) and Apple
.emlxfiles are recognised and reported as not supported, and password-protected or nested ZIPs are reported and not opened. - In 0.1.0 an imported mailbox cannot be deleted, and neither can the import source while it holds snapshots, archive objects or legal holds.
- The archive retention period for ingested mail starts on the import date.
Documentation
The administrator guide describes the steps in mail import and export. Mail restored from an imported mailbox follows the rules on the restore page.
Frequently asked
Can I import an Outlook PST file?
Not in 0.1.0. PST and OST files are recognised by their content and refused with a clear message; they are never parsed. PST import and PST export are planned. Until then, export the messages from Outlook as MSG or EML files (drag them into a folder), or convert the PST to MBOX with a converter, and import that.
Can Restow read a MailStore archive?
Not MailStore's internal archive format. In MailStore, export the mail to the file system as EML or MSG; Restow reads that folder tree, or a ZIP of it, and keeps the folder structure.
What happens with a very large file or a dropped connection?
Uploads in the browser are chunked and resumable: if the network drops or the tab is closed, only the chunks in flight are lost, and choosing the same file again sends only the missing chunks. The default limit is 10 GB per file. For very large collections, the server-side import folder avoids the browser altogether. If the import worker restarts, it continues where it stopped and never reads a message twice.
Does imported mail end up in the archive automatically?
No. It becomes a legacy mailbox you can browse, restore and download. Adding it to the archive is an option you choose at import time, and the archive retention period then starts on the import date, not on the date of the message.