What I use:
- MTA: Exim, greylistd + SpamAssassin for spam filtering
- MDA: Dovecot with dovecot-sieve for filtering
- MUA on Linux: mutt, claws-mail
- MUA on Android: K9
- MUA on web: Rainloop as a Nextcloud app, Roundcube standalone
I've been doing this for more than 25 years and never had any significant problems. I get far less spam in my inbox than I see in the Gmail account I registered back when that was a new thing and which I only use for testing purposes. If I am to believe the naysayers on this forum and elsewhere it is impossible to host your own mail but my experience shows they are simply wrong.
Just get a SBC, install a mail stack (MTA + MDA, Sieve, SpamAssassin, some form of greylisting if you want to use that) on it, hook it up to your residential connection, get a domain name and start experimenting.
[1] https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language...