In 1996 I was hired at ENTEL, the national telecom company of Bolivia. Within a few months I was running the Internet department for the largest city in the country. I was responsible for two Linux servers handling mail, web, and FTP, a Unix machine running DNS, and a rack of Cisco routers. That was my introduction to email servers, and I loved it.
Years later I started my own company with two partners. We needed a domain and email, so naturally I took care of it. I set up two MX records for redundancy — the secondary MX ran at my house. Real redundancy.
When we outgrew the disk space I migrated email to Google. The rest I kept running myself, until I eventually left the company.
Today I manage several domains. My personal one — the one with the banks, the important accounts, the daily driver — runs on Migadu. For a while I had it on a VPS I managed myself. Then life happened.
I now run a business unit at a multinational. My job is not operational anymore. And that changes everything.
When you should self-host your email
You are a sysadmin and servers are your daily work. Self-hosting is a natural extension of what you already do. The cost of keeping a mail server healthy is low when you already live in the terminal and patching a service is just another Tuesday.
You want full control over your data. No third party reads your metadata, scans your attachments, or changes their terms of service overnight. No acquisition turns your email provider into something you did not sign up for. The data is on your disk, in your hands.
You have no interest in storage limits. With self-hosted mail, your inbox is as large as your drive. No tiers, no upsells, no "you have used 90% of your storage" emails.
You want flexibility that no provider offers. Custom filtering rules, complex routing between domains, catch-all addresses, disposable aliases by the hundreds, integration with internal systems. Managed services always have a ceiling on what you can configure.
You are running email at scale. At some point, per-mailbox fees add up. If you are managing dozens of domains or hundreds of mailboxes, owning the infrastructure makes financial sense.
You enjoy it. This is a legitimate reason. Running your own mail server teaches you more about how email actually works than any book. And there is real satisfaction in seeing the logs, knowing every hop your message took.
When you should not self-host your email
Deliverability is a full-time discipline. SPF, DKIM, and DMARC are the easy part — a few DNS records and you are done. The hard part is reputation: keeping your sending IP off blocklists, watching bounce rates, reacting when a major provider quietly starts rejecting your mail. One bad day and your emails disappear silently, with no error on your end.
Spam filtering never stops. You will need rspamd or SpamAssassin, and you will need to tune them. What worked last year stops working this year. Spammers evolve, and so does the arms race between them and your inbox.
Mail servers are under constant attack. Port 25 is public by design, and attackers know it. Brute-force attempts, relay abuse, directory harvesting — your logs will be full of noise. Keeping up with patches and hardening is ongoing, not one-time.
Many cloud providers block port 25 by default. AWS, Google Cloud, and others require you to request access explicitly, and sometimes they simply refuse. Your VPS choice is constrained before you even start.
Backup and redundancy are your problem. A managed service has uptime guarantees and redundant infrastructure. Self-hosted means you own the disk failure, the datacenter outage, and the certificate expiry at 3am.
If servers are not your job, incidents will find the worst moments. A mail server does not care that you have a presentation in the morning. The cost is not just the hours to fix it — it is the context switching, the stress, and the explanation to whoever depends on that mailbox.
My conclusion
The same week I published a step-by-step guide to self-hosting email with Mailcow, I caught myself thinking about moving away from Migadu. That says something about the appeal.
But if your job is not running Linux servers day to day, the honest answer is: do not do it. The appeal is real, the satisfaction of running your own infrastructure is real, but so is the 11pm incident when you cannot receive emails from your bank.
What do you think? Are you self-hosting your email, or did you try it and give up?