This. So much this.
I will happily run my "artisinal" mail system for myself. Would I put customers on it? Oh, hell, no.
I, sadly, always recommend that companies pay money to Microsoft for email. You are really paying for the customer support service rather than the email service.
Customers still have problems occasionally _sending_ email to one domain, which is over 15 years old and sends <1 email per day. If they initiate and email us we can't send them a reply (if they're on MS email, sometimes). We use an outlook.com email nowadays as a relay and have to treat MS using customers differently still despite using a relatively large supplier.
Some years ago, I was lead to believe, you could pay a third-party to add you to what was effectively MS's whitelist.
Aside: back then I was doing some webdev and supporting IE5+ so I already hated MS about as much as one could.
Never paying to enable interoperability that is part of being a reasonable web citizen/company. Paying them just reinforces the negative behaviour.
There are plenty of other email providers which are worth considering, and I'm sure some of them have half-decent customer support.
You would, sadly, be wrong.
Microsoft customer support is "least bad" among the email providers.
That is a massive indictment of email providers, but it is what it is.
Assuming logic applies to humans is painfully wrong. I wish it wasn’t.
Yes. Twice.
In the first case, the mail provider was our ISP; and they got themselves in some mainstream blacklists. The problems getting that sorted out were part of the motivation for bringing mail in-house.
In the second case, there was some academic departmental mailserver and they were using some list incorrectly; using an extremely-opinionated list to block when it should at best be used to score.
This wasn't in itself a big deal, but one of my boss's correspondents was a senior professor in this department and they had some important business; and the postmaster was a dick, and wouldn't help. Boss didn't want to use some secondary email address; I had to show him how to set up an alias on some commercial server, which was second-best, but he was in a hurry.
Boss was angry with me and barked at me. If you run a mailserver for some group, one you assembled yourself, then people expect you to take responsibility for sorting out any mail problems. Well, they're right: you have taken on that responsibility. You made it, and you're running it: who else can they complain to?
[Edit] My point is that it's not hard to set up an artisan mail system; what's hard is that you create a job for yourself that is at the same time networking, user-facing, and technical. It's an interesting learning point, and I recommend it. But don't underestimate what you are taking on.