I've been running my own mail server for a while now and nothing bad happened so far.
Spam detection with rspamd is surprisingly good.
If you like tinkering you might consider it as well.
I used this guide to do it: https://workaround.org/ispmail
But instead of mysql I use sqlite which is easier to work with.
I also built a small app to help me manage the database more easily: https://github.com/confuzeus/mailiness