@Douglas:
I especially mentioned AbuseIPDB or Spamhaus DROP because those list IP addresses you definitively do not want to connect to your server.
"AbuseIPDB is a project dedicated to helping systems administrators and webmasters check and report IP addresses that are involved in malicious activity such as spamming, hack attempts, DDoS attacks, etc."
"Don't Route Or Peer (DROP) lists the worst of the worst IP traffic. It is an advisory “drop all traffic”, containing IP ranges which are so dangerous to internet users that Spamhaus provides access to anyone who wants to add this layer of protection, free of charge."
If a legitimate customer gets blocked by that, his network has a really big problem.
@Roger:
Not every firewall can handle blocklists in the range of 50-100k entries. Plus, you need to update it daily to add new offenders.
A RBL handles this just fine and is fast enough. Plus, the check logic is already implemented; it "only" needs to be activated during auth.
You can do that in exim (ACL_SMTP_AUTH_BLOCK) or postfix (smtpd_client_restrictions).