Ditto this. I pay for a VPS because I don't want my home facing the internet. If the VPS gets hacked, that is as far as they get.
You could do a mail server on a $5 Digital Ocean or Linode VPS if you don't run SpamAssassin. Rather than have your email server on a 10 year old laptop, you let someone else maintain the hardware. You can and should image your VPS or pay for imaging. I do both.
My pipe to the outside world is around 800mbps. I couldn't do that at home. I don't have to worry about leaving a computer running while on vacation.
Should the OP want to join the real world, here again in the guide I use. I like this person's approach because you can test each step. The maintenance is gui free. From start to finish figure on three hours. That includes setting up the VPS, spf, and DKIM. I strongly encourage Centos. I don't use it at home, but it is great for a server. It is a long term disty.
I should point out for ease of maintenance, use packaged software. You don't want to be compiling code for updates.
Stick with IPV4.
====
I have used this person's blog for a few operating systems.
https://blog.andreev.it/?p=1975
Poke around for the correct OS. I only set up dovecot and postfix. Keep it simple.
You then need opendkim. I think opendkim checks the incoming mail. There is another procedure to sign your mail.
When you think it works, use
https://dkimvalidator.com/
Also go to mxtools to verify you haven't created an open relay.
Regarding LetsEncrypt, I use the bash script.
https://github.com/acmesh-official/acme.sh
This saves you Python headaches.