Yeah, no offense, but that’s probably a good idea. 😉
You might also want to spend a little time Googling how email actually works. Email predates the World Wide Web, and while it’s technically simple, hence the name SMTP (Simple Mail Transfer Protocol), over the years it has become much more complex. Today, it involves multiple protocols and services to deliver the kind of functionality we expect from modern email and groupware solutions.
And then there’s the whole spam problem: blocklists, filtering, and reputation systems, which is why we now have to deal with SPF, DKIM, DMARC, and IP reputation. Keep in mind that email was designed in a time when mainly universties were connected to the internet, and every device had a public IP address, no NAT, no IPv6, etc.
I don’t mean to scare you off—it’s definitely still possible to run your own mail server. But you do need a public IP address with a good reputation. Home internet connections are basically a non-starter for that.
If cost is an issue (and yes, a VPS with 6GB RAM can be pricey), here are two things to consider:
1. You might not actually need that much RAM.
3GB, and maybe even 2GB, could be enough if you disable features like SoGo, ClamAV, and full-text search (which, btw, has become much lighter on RAM since they switched to a new indexing system) My Mailcow instance runs on a VPS with 4GB RAM and typically uses only about 2–2.5GB. If you only have a few users and skip SoGo and ClamAV, 2GB might actually be enough.
2. Try an alternative to Mailcow (sorry, Mailcow folks! 😉 ).
Something like Mail-in-a-Box might be a better fit. It’s much lighter and can run comfortably on a 1GB VPS, assuming you don’t have many users. It also handles a lot of the DNS setup automatically.
Maybe just test one or both of the above options. Many VPS providers offer hourly or minute-based billing, so you can spin one up, experiment for a few hours or days, then destroy it again, if it doesn’t work as expected.