DEV Community

疏影
疏影

Posted on

7 lessons from running my own email server for 2 years (just use FastMail? I tried both)

I ran my own email server (Mailcow + Postfix + Dovecot) for 2 years. Here's what I learned, why I switched back to FastMail, and when self-hosted email actually makes sense.

Why I tried self-hosted email in the first place

I'd already self-hosted Plex, Nextcloud, Vaultwarden. Email felt like the final boss. "I have my data, no Google scanning my mail, full control." Worth a shot.

What worked

1. Mailcow dockerized is genuinely good

The Mailcow project packages Postfix, Dovecot, SpamAssassin, ClamAV, webmail (SOGo), and admin UI into one Docker Compose stack. Setup: ~3 hours including DNS.

2. Catch-all addresses work great

self-hosted@mydomain.com goes wherever I want. Forwards, aliases, per-service addresses (github@mydomain.com, banks@mydomain.com) all trivial.

3. Spam filtering is on par with Gmail

Rspamd + ClamAV + a few RBL lists caught ~95% of spam with zero false positives in my testing.

What broke

4. Deliverability is a nightmare

Even with SPF, DKIM, DMARC all perfectly configured, my mail went to spam at:

  • Outlook.com (50% inbox rate)
  • Yahoo (40%)
  • Some corporate Exchange servers (20%)

Why: IP reputation. My home IP was on some RBL by month 2. Even a clean VPS IP takes months to warm up.

5. Reverse DNS and PTR records

Hetzner/Floating IPs make PTR easy. Most residential ISPs don't. I paid $4/month for a VPS just for SMTP relay + PTR.

6. Bounce handling is tedious

Hard bounces need manual suppression. Soft bounces need retry logic. Spam complaints need FBL processing. Gmail does all this for free. With self-hosted, you write scripts.

7. iOS Mail integration is fragile

Every iOS update breaks something. Push notifications stopped working twice. IMAP cache corrupts occasionally.

What I did differently

The setup cost me ~30 hours over 2 years:

  • 6 hours initial setup
  • 10 hours on deliverability (DNS, PTR, warming)
  • 8 hours on iOS integration issues
  • 6 hours on misc (SSL, backups, monitoring)

When self-hosted email makes sense

Honestly? Almost never. Maybe if you:

  • Live in a country where email providers won't give you a domain (rare)
  • Are a journalist needing extreme operational security
  • Run a business with 50+ employees on your own domain

For personal email? FastMail ($5/month) is worth it. You get:

  • 99.99% uptime SLA
  • Inbox at Gmail, Outlook, etc.
  • Push notifications that work
  • IMAP if you want it

What I use now

FastMail $5/month + my own domain. Best of both:

  • I own my domain (can move providers anytime)
  • FastMail handles deliverability, push, spam
  • Webmail + IMAP + Apple Mail all work flawlessly

Cost comparison

  • Self-hosted: $50/year (VPS for relay) + 30 hours over 2 years ($3,000 opportunity cost at $100/hr)
  • FastMail: $60/year + 0 hours

Self-hosted email is a money-losing proposition for personal use unless your time is free.

What I keep self-hosted

  • File storage (Nextcloud) — saves real money vs Google Drive
  • Password manager (Vaultwarden) — saves money and works fine
  • Photos (Immich) — saves money
  • Backups — has to be local anyway
  • VPN (WireGuard) — performance-sensitive

What I don't keep self-hosted:

  • Email — deliverability too hard
  • Notes — drop his situation for sync
  • Calendar — CalDAV works but UI is worse than Google Calendar

TL;DR

Self-hosted email is fun as a learning project. As a daily driver, it's not worth the deliverability headache unless you have very specific requirements. FastMail + custom domain is the sweet spot for personal use.

Top comments (0)