The hardest part of self-hosting email isn't the setup — it's deliverability.
You need: SPF, DKIM, DMARC, rDNS, a clean IP, and patience. Even then, Gmail might decide your mail is spam.
Honest take: self-host everything except email unless you really know what you're doing.
