Even in the face of all the advice on reddit and HN that says never to host your own mail server, I have been doing so successfully for at least 15 years. It helps that I have had the same spam-free IP address for most of that time. All I ever do is run `apt upgrade` approximately once a week. Costs all of $5 a month and there's just enough RAM leftover that I can also use it for wireguard tunnels or whatever if I need to.
I have decided that if my VPS provider shuts down, I can just send my outgoing mail through a cloud provider's SMTP gateway. My volume is low enough that it will be free or cost a few cents a month.
Deliverability is not a problem for me, but incoming spam does not have a great solution. Even with rspamd, a lot of crap gets through if you start spamming your email address everywhere. This is why I use a lot of throwaway and company-specific email address.
If you only have one email address, yeah Fastmail or whatever is cheap. But as soon as you want multiple users (family) and throwaway email addresses, it gets expensive in a hurry. But those are free if you self-host.