Sending emails is hard because there is no central authority. Instead, each provider checks if the sender does some “best practices”. And the exact details vary - so if you got it working once with gmail, then there is no guarantee it will work next time with live.com. So you got to do them all.
For example, I have heard an unconfirmed rumor that one of the major provider started penalizing email sender machines without IPv6 address. If I had to maintain a mail sender, this’d mean have to upgrade my architecture to use IPv6 ASAP, which is non trivial at all. This is why most people outsource email sending.