Bulk Email Migration
Migrate hundreds of email accounts to TrekMail at once using CSV upload.
Article details
Type, difficulty, plans, and last updated info.
▼
Article details
Type, difficulty, plans, and last updated info.
- Type
- Guide
- Difficulty
- Intermediate
- Plans
- Starter · Pro · Agency
- Last updated
- Sep 9, 2026
Bulk Import copies several source mailboxes into TrekMail from one CSV file. Use it when the destination mailboxes have already been created and you have a secure way to collect each source mailbox's sign-in details.
The dashboard checks the file before it starts anything. Read the preview carefully: only accepted rows can be started. The preview validates the CSV, destination mailboxes, and connection details supplied in the file; the actual sign-in to each source mailbox happens when the batch runs.
Available on Starter and higher plans. A batch can contain up to 100 mailboxes on Starter, 300 on Pro, or 1,000 on Agency. The CSV file itself must be 2 MB or smaller. The preview is the final authority if an account has a temporary limit.
Before you prepare the CSV
- Create every TrekMail destination mailbox first. The destination address in each row must match a mailbox in your account.
- Get a working IMAP password or app password for every source mailbox. Never use a dashboard password in place of the source mailbox password.
- Treat the CSV as sensitive. It contains passwords. Keep it out of chat, tickets, repositories, and shared drives, then delete the local copy when the migration is finished.
- Decide whether all source mailboxes use one IMAP server. If they do, use the simple three-column format. If not, use the six-column format with each row's server details. See Bulk Migration CSV Format.
For one mailbox, use Single Import instead.
Start a batch
- Open Import and choose Bulk Import.
- Pick the provider. Gmail, Outlook, Yahoo, and iCloud fill in their standard server settings. Choose Other for a custom IMAP host.
- Paste the CSV or upload a
.csvor.txtfile. You can download the simple or full template from the page. - If every row uses the same source server, enter its host, port, and security setting in Advanced settings. For different servers, enable Each row has its own server settings and use the six-column file.
- Select Preview & validate. No email is copied at this point.
- Review the results. Correct invalid rows in the CSV and preview again. The preview also flags duplicate source or destination mappings, an already-active destination, and rows over the plan limit.
- Choose the folder strategy, date filter, duplicate option, and an optional batch name.
- Select Start. The batch continues in the background and opens its detail page.
Only one active bulk batch can run for an account at a time. Finish, cancel, or pause an existing batch before starting another.
Choose the right folder strategy
The setting applies to every accepted row in the batch.
| Choice in the dashboard | What it does |
|---|---|
| Preserve folder tree | Copies the source folder structure, including custom folders. Choose this for a complete move. |
| Flatten to INBOX | Puts imported messages in Inbox and identifies their source folder. Choose this only when a flat archive is easier to manage. |
| Only INBOX + Sent | Copies Inbox and Sent only. Use it for a focused migration, not for a complete archive. |
Skip duplicates is selected by default. Keep it selected when you repeat a batch or run a later catch-up pass. Import emails newer than is an optional date filter; leave it blank to include the full selected range.
Monitor a batch
The batch page shows the number of completed, failed, cancelled, remaining, and partly completed mailboxes. It refreshes while the batch is active and lists the source and destination of every row.
The batch can be queued, running, paused, completed, completed with errors, or cancelled. Individual mailboxes can still be at different stages while the batch is running.
TrekMail processes several mailboxes at once: two on Starter, five on Pro, and ten on Agency. Source providers may still slow or limit connections, so a large batch does not have a guaranteed finish time.
Recover from a problem
- A row failed: Open the row, read the displayed message, correct the source account or connection issue, then use Continue incomplete for eligible rows.
- Some mail was copied before a problem: Continue rather than starting a fresh batch. The system keeps its progress and avoids recopying completed work where possible.
- The batch is paused: Free up destination storage or adjust the plan, then select Resume. TrekMail pauses batches at 90% storage to reduce the risk of an interrupted import.
- You need to stop the batch: Use Cancel all. Check the resulting folders before launching another batch.
- You need a handoff record: Select Download CSV on the batch page for the current per-mailbox result.
After a successful batch, check a sample of destination mailboxes and folders before changing MX records or closing the source service.
Related articles
Jump to nearby guides that continue the workflow.