Author here. Let me clarify.
For a server with only a few users, the hard part is outgoing mail, ensuring your mails get delivered.
It is not particularly difficult from a technical point of view.
But if you get blocked by big tech even when doing everything right (reverse DNS, SPF, DMARC, DKIM, RFC compliant MTA), you have to beg them to unblock you. This part is time consuming.
I’ve read horror stories where it went well for years until suddenly Gmail started flagging well-behaved servers as spam without any clear reason. Sometimes mail got through, sometimes it didn’t, without any clear pattern or explanation.
I simply don’t have that kind of time and nerves to deal with this. “hard” may be the wrong word, but it is nerve-wrecking.
That’s why I finally gave up after nearly 3 decades of running my own email server. It’s just stamping out fire after fire and my time became way more valuable as I got older.
There’s so many services where I’m like, wow what am I even paying for? Email is one where I know exactly what I’m paying for.
I have been running my own mail server with similar requirements for 20 years now.
I empathize that getting flagged by major providers is the most worrisome part.
Yet, it’s not as bad as it was in the years 2012-2015 when SPF, dkim and dmarc strated becoming mandatory.
I maintain my outbound server against all odds, mostly because I think it’s very important that independent providers can still exist.
I finally ended up going to a larger mail service (paid, but free) that just provides an outgoing smtp relay for me. Even on a busy month I send far below the 1k emails they require before they start charging, and their servers IP ranges aren’t blanket blocked by the Google’s of the world.