I have run my own mail server since maybe 1995? As is the case with most things I have learned how to do with computers, there are a few guidelines to follow (SPF, PTR record, etc.) and it helps to have a static IP from your ISP, although not necessary - I have several clients still hosting email using DDNS.
You may wish to consider using something like a Synology NAS where a stripped down mail server is a free feature for 5 mailboxes or less. They also support DDNS...
And when spam levels get high, a quick analysis of source IP addresses gives me new entries for a block list at my firewall. I wrote a simplistic visual basic script to harvest the IP addresses, since I still use Outlook as my PIM.