It really saddens me when I see topics like this and just doing it yourself doesn't come up as an option. 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 (1) mail server is not enough. You need fault tolerance. 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.
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.