Rolling your own transactional email servers:
I am curious who does this and how it works for them. If you do not roll your own, why not?
The only down sides I really see here is missing automation from GP and tracking opens maybe a few other small things.
I have been doing this for awhile now. I setup iRedMail, strip the heavy bits out such as clamav. a 4GB vm can support a substantial amount of sites and emails and saves a good amount of cash.
Each site gets an account to connect to and is throttled by emails per 24 hours (starter is 50 emails) and email message size. So far this has been smooth for me and I am pretty happy I went with it.
The biggest reason is time, mostly in care and feeding.
There's a handful of lightweight transactional email apps out there, like https://github.com/mlandauer/cuttlefish that can be deployed on docker with Traefik quickly. I wouldn't use iRedmail as it's a full-blown MTA and is overkill in this situation.
Why docker? Back up the config in git, and deploy anywhere with SSL in seconds.
The only issue now is getting clean IP's, you could try really hard to find some or purchase your own /24 (so hard). And clean them up.
So now you've got everything set up; things will run themselves for a while. But then you get delivery issues, or a site is hacked and sends out a bunch of garbage. Time to jump in and troubleshoot.
Why not just pay $10/month to Postmark, never have to worry about delivery issues and set up each site/client on their own server instance? If they do something naughty, their server is restricted, not your entire account.
If Postmark raises its prices, it's not longer viable. I'd deploy cuttlefish and use Amazon SES as the backend for sending. Or the cheapest transactional provider out there.