I hope someone else can pitch in with a more indepth instructions, but two things I wanted to mention:

First, forget about hosting your own email from home. Seriously. Even those who do it professionally don’t want to deal with that at home. You’ll find people on fediverse who do it but I’m sure plenty will give you this same recommendation/warning. It’s a huge hassle and it’s so easy to get your domain blocked/ending up on a blacklist and way harder to get out of it.

Second, I can personally recommend linuxupskillchallenge.org if you are really starting from scratch ( there’s a community here: [email protected] ). This is how I started and set up my own linux server and started self hosting stuff on it. It’s really basic and won’t teach you everything you need but it’s a great start for setting up your own server. You can do everything with a local server at home that you have set up.

Linux Upskill Challenge - Linux Upskill Challenge

A month-long course aimed at those who aspire to get Linux-related jobs in the industry - junior Linux sysadmin, DevOps-related work, and similar. Learn the skills required to sysadmin a remote Linux server from the commandline.

I run my email server, but not at home. Running it at home is not all all more difficult, but it will only work for internal traffic and inbound from the internet. Residential IPs are simply blacklisted by ISP and as such - nothing will reach external recipients. Still useful, but is limited.

To have your smtp reach everyone globally you need to run it on a business IP. I use Linode, has worked very well since the setup in 2019, although they did get acquired by Akamai, which might become an issue at some point.

Been running my email server on a resi IP for two decades, without PTR records, and never had to deal with a blacklist by any major players. Maybe because I’m not on some big ISP.
Huh, TIL that’s still possible. Wasn’t in my case at the time.