Those sorts of mail servers end up in my firewall rules till some point in the
future.
I started off using a shun on them as a short-term fix, but then went to a 500 error message for all mail from the server in /etc/mail/access.
They seem to behave properly upon getting a 5xx and go away until a new spam is queued, so it's less bandwidth for me if I do that then let them continually try to reconnect and fail to get any answer. It also gives me an opportunity to bounce back a message about why I'm blocking them.
In general doing a 5xx is better than a firewall block, unless the server is so broken it doesn't respond to 5xx's and keeps retrying anyway.