I've been self-hosting for 20 years now - a few years ago I switched to using Mail-in-a-Box (https://mailinabox.email/) which makes management a lot easier than configuring each service manually.
It definitely requires some effort but once you've got it up and running it's pretty hands off. The only issues I've ever had are expiring certs but I've fixed that by configuring auto-renewals and it's all good now.
Ensuring your source IP isn't blacklisted is probably the single most important factor. I had to request a new IP from Linode where my server runs as the one it was originally assigned had a bad reputation.