Running a mail server is not difficult, and I firmly believe that deliverability is quite solvable. This was basic sysadmin 101 about a decade ago, one skill of many that's getting lost in the S/I/PaaS ecosystem.
Running a mail server is not difficult, and I firmly believe that deliverability is quite solvable. This was basic sysadmin 101 about a decade ago, one skill of many that's getting lost in the S/I/PaaS ecosystem.
Then I ran a mail server for our small family business. And of course, we had DKIM, SPF and DMARC. At first, everything was great.
Then we started having bizarre deliverability problems to a growing provider of corporate emails. So after trying a number of solutions, we settled on SES. All was great again.
Then we started having weird deliverability problems that resulted in bounced emails to an accountancy firm. One of the public IPs ended up on a blacklist. This got fixed fairly swiftly. Things were good again.
Then it happened again.
Yes, deliverability can be solved – the question is for how long. Maybe we chose poorly with SES, but it seems other providers have had problems. I ultimately concluded that it's really not worth the hassle, and we ended up with the email provider that was causing us the bulk of the problems. It was a difficult pill to swallow, and I realize that I've done my part in making the problem worse. But sometimes, life is too short.
The world was different a decade ago. We didn't have overzealous spam filters by default that self-reinforce their awful decisions. I appreciate that spam is a really hard problem. But the solution we have is worse than the problem: we've just made an oligarchy of email, where not even all the big players have the clout to keep themselves out of blacklists all of the time.
And with all that said, for a personal email server, I still might self-host – but I'd be prepared for emails to not get reliably delivered.
That said, by no means am I claiming that email deliverability is easy!
And then of course spam filtering, DKIM and whatnot, maybe a nice web interface, ...
Running an SMTP server is easy. The rest? Not so much.
Rolling your own is great. However, it's not for most people and requires constant monitoring and maintenance.
I don't need fault tolerance if it is going to be down for 10 hours I don't care. If I run it I am going to fix it anyway and retry registration process for whatever I needed mail.
Spam filtering use 10minute mail or something for crap that you don't care. Give your mail address to people and companies you actually want to deal with. Better just keep some spam box on free provider where you sign up for crap.
I don't care about web interface I have multiple boxes anyway so I have to use client app where I can see all stuff at once. (why people think you can have only ONE "THE ONE" mail address for everything?)
DKIM and stuff does not matter if you send ONE EMAIL A MONTH or two. Mostly what people do is that they receive stuff (registration mails for crap).
That said, if you send out bulk mail like in 1k a day you really need DKIM, SPF, DMARC and stuff.
If you run company email server it might be better to do it with email provider or get marketing to send mass mails with mailchimp or sendgrid.
When you want to run mail server for friends and family you are just being silly and if there will be 10 hours downtime you would not care about... Guess what your brother in law wanted to sign up for free month april on por..ekhm...pluralsight and he is going to be mad at you (and you should not tell that to your sister).
DKIM matters if you want to not have to tell people to check their spam box whenever you correspond with them via email.
I send all kinds of test stuff to my own gmail accounts and other providers. Unless you send really a lot email or unless someone marks you as a spam it is not an issue.
Blocking spammers is about rate limiting, if you are "nigerian prince" - one email a day - is not going to help you finding a person who wants to help you. Ideally you would like to send emails to everyone at once to find that one special person who wants to help you.
You don't need fault tolerance. It's nice, but not necessary. How often is your VPS or colocated server going to go down, anyway? Email is meant to deal with transient issues.
Web interface? Again, you don't need that at all.
Constant monitoring? No. Maintenance? Certainly not constant.
Otherwise I run plenty of own infra, both on VPS's on DigitalOcean and on my home server.