I used to send emails from my own servers, with everything configured according to the best practices, as much as I could. This was for account management emails: things like verifying user accounts, resetting passwords, etc.
It seems my emails were getting into spam boxes or outright rejected over 50% of the time, which obviously was driving users away. Mails would sometimes be classified as spam on my own Gmail, even after telling it multiple times to not mark those emails as spam. So I switched to Mailgun, and things have been much more peaceful - sometimes emails take a while to arrive, but I don't remember the last time anyone said it was in spam. It was not about the email content, as the content didn't change...
What's your experience with this? I suppose some domains/TLDs and certain IP address ranges are more prone to be classified as spam than others, and that's why I prefer using an external service: hopefully these guys can control their infrastructure in ways I can't do with mine. But I'm also a supporter of Internet decentralization, and email is one of those things that in principle is easily decentralized...