You should try Cloudron.io
Email is fully solved provided you choose a VPS IP that isn't completely burned by previous abuses.
Cloudron makes all of this so easy it's becoming ridiculous to self host and manage users, domain, email, countless apps from a one click install.