What I do is I reject (with an error message) all messages not sent to an address in the /etc/aliases file. I will add a new alias for each correspondent. If there is spam (or otherwise too many undesired messages which cannot be removed), then I will delete the alias. Additionally, I do not have HTML email; it is purely plain text, and ASCII only (no Unicode). I use the "exim" email software on my computer to do this. This has worked; I only very very rarely receive any spam (less often than once a year).
I have my own mailserver with sieve filtering. It would be possible to create that with sieve, but it requires constant updates to add an domain.
hey.com -- it's not a client but it's a service that has the feature you want.
I want one that bounces spam emails instead of just deleting them.
If people use a deliverability service they get punished worse for having a high bounce rate than they do for having a high complaint rate. I want to see more punishment.