JustEmails
PricingSign inStart free trialStart free
Tutorials··13 min read

Migrate From Migadu to JustEmails: Multi-Domain IMAP Migration

Step-by-step guide to migrate your mailboxes from Migadu to JustEmails without losing mail. Both use flat-fee pricing — the cutover is cleaner than you'd expect.

By JustEmails Platform Team
Contents
  1. What You'll Have at the End
  2. Prerequisites
  3. Step 1: Create Mailboxes in JustEmails
  4. Step 2: Install imapsync
  5. Step 3: Run the Initial Sync
  6. Step 4: Lower Your MX TTL
  7. Step 5: Update DNS Records
  8. Update MX Records
  9. Update SPF
  10. Add DKIM Records
  11. Leave DMARC Alone (Mostly)
  12. Step 6: Verify DNS Propagation
  13. Step 7: Run a Delta Sync
  14. Step 8: Update Mail Clients
  15. Step 9: Keep Migadu Active (7 Days)
  16. Common Errors and Fixes
  17. Next Steps
  18. Frequently Asked Questions
  19. How long does a Migadu to JustEmails migration take?
  20. Will my folder structure survive the migration?
  21. Can I migrate multiple domains at once?
  22. What happens to mail sent to me during the cutover?
  23. Try JustEmails

The outgoing message counter hit 18 of 20 at 2pm on a Tuesday.

I'd been running three client domains on Migadu's Micro tier for eight months. It worked great — until a freelance project required sending 40 emails in one afternoon to different vendors. Twenty a day is the whole Micro allowance, so that single afternoon was two days of quota on its own. Add the project updates, a newsletter draft for review, and the usual back-and-forth with my accountant, and by 3pm I was rationing replies like they cost money.

(They kind of did.)

Look, Migadu's pricing model makes total sense for people who mostly receive email. If your busiest day stays under 20 sends, their Micro tier — listed at 19 a year — is unbeatable. But the moment you cross that threshold, even once, you're either climbing to the next rung or holding your breath.

This guide walks through migrating from Migadu to JustEmails. Both use flat-fee pricing with unlimited domains and unlimited mailboxes, so the migration is structurally clean. No per-user seat conversions. No license juggling. Just move the mail and swap the DNS. If you're comparing the two before deciding, our JustEmails vs Migadu breakdown covers pricing and feature differences.

What You'll Have at the End

All your Migadu mailboxes — messages, folders, sent mail, drafts — transferred to JustEmails. MX records pointed at JustEmails servers. SPF/DKIM/DMARC configured. Your mail clients updated with new credentials. And no more outgoing message math.

Prerequisites

Before starting, you'll need:

  • Admin access to Migadu's control panel
  • DNS access to your domain (Cloudflare, Namecheap, wherever your nameservers live)
  • A JustEmails account — start the 7-day free trial if you haven't
  • A machine with imapsync installed (any Linux box, Mac, or WSL works)
  • About 2 hours of hands-on time spread across 2-3 days

One thing Migadu handles well: IMAP credentials. You'll find them in your Migadu admin panel under each mailbox. Write down the server hostname and passwords before you start — you'll need them for the sync.

Multi-domain migrations need one more number up front. Sends are capped per account per day — 20/day for the first week, 200/day in the second, 500/day from day 15 on — with mailbox sends and API sends counted against the same number. Warm-up is measured from domain verification rather than signup, so each domain you bring over starts at 20/day of its own, however old the account is. Stagger the domains if you have several and want headroom on each.

Step 1: Create Mailboxes in JustEmails

Log into JustEmails. Add your domain first — the dashboard walks you through verification with a TXT record. Once verified, create a mailbox for every address you're migrating.

Match the addresses exactly. If someone's invoices@yourcompany.com in Migadu, create invoices@yourcompany.com in JustEmails. Mismatched addresses mean broken forwards and confused clients.

JustEmails generates IMAP/SMTP credentials for each mailbox automatically. Keep these handy — you'll use them for both the sync and the mail client setup later.

Don't touch MX records yet. We're syncing first, cutting over later.

Step 2: Install imapsync

imapsync copies mail between any two IMAP servers. It preserves folder structure, read/unread flags, and dates. On Ubuntu/Debian:

sudo apt update && sudo apt install imapsync

On macOS with Homebrew:

brew install imapsync

On Windows, WSL is your best bet. Native Windows installs exist but tend to be finicky. (I wasted two hours on a native install once. Just use WSL.)

Verify it's installed:

imapsync --version

You want version 2.x or higher. Older versions have connection timeout bugs that'll frustrate you on larger mailboxes.

Step 3: Run the Initial Sync

Here's the command template. Replace placeholders with your actual credentials:

imapsync \
  --host1 imap.migadu.com --port1 993 --ssl1 \
  --user1 "you@yourdomain.com" --password1 "migadu-password" \
  --host2 mail.justemails.app --port2 993 --ssl2 \
  --user2 "you@yourdomain.com" --password2 "justemails-password"

That's it. No special flags needed. Both providers use standard IMAP folder naming, so there's no label-to-folder translation like you'd deal with migrating from Gmail.

Run this for every mailbox. For multiple mailboxes, a bash loop speeds things up:

while IFS=, read -r user migpass jepass; do
  imapsync \
    --host1 imap.migadu.com --port1 993 --ssl1 \
    --user1 "$user" --password1 "$migpass" \
    --host2 mail.justemails.app --port2 993 --ssl2 \
    --user2 "$user" --password2 "$jepass"
done < users.csv

The CSV has three columns: email, Migadu password, JustEmails password. Not elegant, but it works.

First sync time depends on mailbox size. A mailbox with 2GB of mail takes 30-60 minutes on a decent connection. Let it run. imapsync is resumable — if it crashes, just run the same command again and it picks up where it left off.

Step 4: Lower Your MX TTL

Before touching MX records, drop the TTL on your existing records. If your TTL is 86400 (24 hours), mail servers will cache the old MX for a full day after you change it.

In Cloudflare:

  1. Go to DNS → Records
  2. Find your MX records
  3. Edit each one and set TTL to 300 (5 minutes)
  4. Save

Wait 24 hours. Yes, really. The old TTL needs to expire from caches worldwide before the new short TTL takes effect. Skipping this step is how people end up with split delivery for days.

While waiting, grab the DNS records you'll need from JustEmails. Your domain settings show:

  • MX record (a single host — there is no backup MX to add)
  • SPF TXT record
  • DKIM CNAME records
  • DMARC policy (you'll modify your existing one)

Screenshot or copy them. You'll need them tomorrow.

Step 5: Update DNS Records

This is the actual cutover. Deep breath. It's simpler than it looks.

Update MX Records

Delete the old Migadu MX records. They look something like:

aspmx1.migadu.com (priority 10)
aspmx2.migadu.com (priority 20)

Add the JustEmails MX record. There's one, not a pair:

mail1.justemails.app (priority 10)

(Your JustEmails dashboard shows the same value under the domain's DNS tab — worth pasting from there rather than from this page.)

Update SPF

Your existing SPF record probably includes Migadu:

v=spf1 include:_spf.migadu.com ~all

Replace with JustEmails:

v=spf1 a:mail1.justemails.app ~all

Note the mechanism: it's a:, not an include. It authorises whatever IP mail1.justemails.app resolves to, which is the host your mail leaves from. If you've seen an include: variant for JustEmails in an older guide, don't use it — an include pointing at a name with no TXT record authorises nothing, and the failure is invisible in a DNS panel.

If you're using other senders (Mailchimp, your app's transactional email, whatever), keep those:

v=spf1 a:mail1.justemails.app include:servers.mcsv.net ~all

One SPF record total. Multiple SPF records break validation entirely — the RFCs are clear on this and yet people keep doing it. I've debugged this for other teams more times than I want to admit. It's always the same conversation. If you're setting up email from scratch, our custom domain email setup guide covers the full DNS picture.

Add DKIM Records

JustEmails generates DKIM keys automatically. Add the CNAME records from your dashboard:

je1._domainkey.yourdomain.com → je1.dkim.justemails.app
je2._domainkey.yourdomain.com → je2.dkim.justemails.app

Delete the old Migadu DKIM records if you still have them. They're dead weight now.

Leave DMARC Alone (Mostly)

Don't tighten your DMARC policy during migration. If you're at p=reject, consider temporarily dropping to p=quarantine for a week. Watch for alignment failures.

The one thing to check: make sure your rua reporting address still works. If it was pointing at a Migadu mailbox you're migrating, the reports will continue flowing to the same address — just delivered by JustEmails now. Our guide on ramping DMARC to p=reject safely covers policy progression if you want to tighten up after things settle.

Step 6: Verify DNS Propagation

Don't trust "instant" propagation. Check with MXToolbox:

https://mxtoolbox.com/SuperTool.aspx?action=mx:yourdomain.com

You should see the JustEmails MX servers. Check SPF and DKIM too. If anything shows old Migadu records, wait longer. This is why we lowered TTL yesterday.

Send a test email from an external account — personal Gmail, Outlook, whatever — to one of your migrated addresses. Verify it arrives in JustEmails, not Migadu.

Step 7: Run a Delta Sync

Mail that arrived at Migadu between your initial sync and the MX cutover is still sitting there. Run imapsync again for every mailbox:

imapsync \
  --host1 imap.migadu.com --port1 993 --ssl1 \
  --user1 "you@yourdomain.com" --password1 "migadu-password" \
  --host2 mail.justemails.app --port2 993 --ssl2 \
  --user2 "you@yourdomain.com" --password2 "justemails-password"

Same command as before. imapsync only copies new/changed messages — it won't duplicate what's already synced. This delta sync is fast. Minutes, not hours.

Step 8: Update Mail Clients

Your team's mail clients need new server settings.

Incoming (IMAP):

  • Server: mail.justemails.app
  • Port: 993
  • Security: SSL/TLS
  • Username: full email address
  • Password: JustEmails password

Outgoing (SMTP):

  • Server: mail.justemails.app
  • Port: 587
  • Security: STARTTLS
  • Username: full email address
  • Password: JustEmails password

Outlook, Apple Mail, Thunderbird, mobile apps — all of them need updating. The Migadu credentials won't suddenly stop working (Migadu stays active), but new mail lands in JustEmails now.

Budget 10-15 minutes per person for hand-holding. Some folks figure it out from a screenshot. Others need a screen share. (If I sound jaded, it's because I've been on too many "just change the server field" calls that turned into 45-minute tech support sessions.)

Step 9: Keep Migadu Active (7 Days)

Don't cancel Migadu immediately. Some enterprise mail servers cache MX records aggressively — even with short TTLs, you might see occasional messages land at Migadu for a few days.

Run imapsync one more time at day 7. If the delta sync shows zero new messages, you're clean. Log into Migadu, verify the mailboxes are quiet, and cancel.

Migadu's ladder runs from 19 at Micro to 990 at Maxi as listed on their pricing page, against our flat $49 — and since we can't confirm from their page whether those figures are euros or dollars, we're not going to hand you a savings number. Treat this migration as being about the constraint, not the sticker: no volume tier to climb, no counter to watch, no rationing sends during a busy week. For a deeper cost breakdown, see our business email pricing survey.

Common Errors and Fixes

imapsync fails with "NO LOGIN"

Check your Migadu credentials. If you changed passwords recently or have 2FA enabled, regenerate credentials in Migadu's control panel. Also verify the IMAP server hostname — it's imap.migadu.com, not mail.migadu.com.

DKIM fails in MXToolbox

The CNAME records need 15-60 minutes to propagate. If they still show missing after an hour, double-check the record names. The underscore in _domainkey trips people up. It's je1._domainkey.yourdomain.com, not je1.domainkey.yourdomain.com.

Mail arrives at Migadu after cutover

DNS propagation isn't complete. Some corporate mail servers cache MX records longer than TTL suggests. Keep Migadu active and run delta syncs daily until the flow stops. This typically resolves within 48-72 hours.

Folder names appear mangled

Rare with Migadu-to-JustEmails since both use standard IMAP. But if you see weirdness, check for special characters in folder names. Ampersands, slashes, and non-ASCII characters occasionally cause hiccups. Rename the affected folders before the next sync.

Next Steps

Once the migration settles, you might want to explore a few things:

  • Transactional email API — JustEmails bundles 1,000 sends/month free. If you were using a separate transactional provider alongside Migadu, you might be able to consolidate. Our SMTP vs API comparison breaks down when each makes sense.

  • Team access — If you're managing email for clients or colleagues, JustEmails includes RBAC (Owner/Admin/Member/Viewer roles) at $2/member/month. Migadu's admin access is designed for solo operators.

  • Storage scaling — JustEmails includes 10 GB base, with 100 GB blocks at $99/year each. If your Migadu mailboxes were pushing storage limits on lower tiers, you've got room to grow.

For multi-domain operators who hit Migadu's outgoing limits or wanted simpler team management, this migration unlocks both. The actual cutover is less dramatic than it sounds — two flat-fee providers using standard protocols means the hard parts (label conversion, quota negotiation, seat licensing) don't exist.

Questions? We're at support@justemails.app. And if you're curious about other migration paths, we've written similar runbooks for Google Workspace and Microsoft 365. Managing analytics across your domains? JustAnalytics pairs well with multi-domain email setups — same flat-fee model, no per-site charges.

Frequently Asked Questions

How long does a Migadu to JustEmails migration take?

Most migrations complete in 2-3 days. Day 1 is setup and initial IMAP sync. Day 2 is TTL lowering and MX cutover. Day 3 is verification and delta sync. The hands-on work is about 2 hours total — the rest is waiting for DNS propagation and letting the sync run. Unlike migrations from Google Workspace, both Migadu and JustEmails use standard IMAP, so there's no label-to-folder translation weirdness.

Will my folder structure survive the migration?

Yes. Migadu uses standard IMAP folders, and so does JustEmails. No special flags needed in imapsync — your Sent, Drafts, Archive, and custom folders transfer intact. The only caveat is folder names with special characters. If you have a folder named 'Clients/2025 & Prior', the ampersand might render differently. Check after the first sync and rename if needed.

Can I migrate multiple domains at once?

Yes. Add all domains to JustEmails first, create the mailboxes, then run imapsync in parallel — one process per mailbox. Both Migadu and JustEmails support unlimited domains on flat-fee plans, so you're not paying per-domain on either side. We've seen teams migrate 8 domains in a single afternoon.

What happens to mail sent to me during the cutover?

If you lower your MX TTL before the cutover, the gap is usually under an hour. During that window, some servers might still route to Migadu while others hit JustEmails. Keep Migadu active for 7 days after cutover and run a delta sync to catch any stragglers. In practice, we rarely see more than 2-3 messages land in the old location during a well-timed cutover.


Try JustEmails

Unlimited custom domain email hosting for $49/year flat — unlimited domains, unlimited mailboxes, 10 GB storage, full IMAP/SMTP. Built for agencies, freelancers, and anyone managing email across more than one domain.

Start your 7-day free trial → · How it compares

email-migrationmigaduimap-syncflat-fee-emailmulti-domain-emailbuildinpublicsaasstudioaiworkforcebuildwithclaude

Related posts

Tutorials
Migrate from GMX and Mail.com to JustEmails: Step-by-Step IMAP Guide
12 min read
Tutorials
Migrate From Purelymail to JustEmails: IMAP and DNS Cutover Guide
13 min read
Guides
Migrate Fastmail to JustEmails: Full IMAP Migration Guide
14 min read