[Exim] RBL detection in Exim 4 router?

Top Page
Delete this message
Reply to this message
Author: Matt Bernstein
Date:  
To: exim-users
Subject: [Exim] RBL detection in Exim 4 router?
Hi, me again trying to bend Exim in silly ways :)

I'd like to customise the reject I send when recipients don't verify to be
more rude to clients listed in $my_preferred_rbl_lists. Basically I'd like
instead of saying "that address doesn't work" to say "I don't want any
mail from you". I guess it's cosmetic, but given that I've already done
the lookup it's not going to cost me anything extra. Valid recipients will
receive the mail tagged with an "X-RBL-Warning" header added by one of my
ACLs.

So I tried this as my last "real" router (I have one which should only be
run when explicitly called from a different one after this..).

spam_baduser_reject:
  driver = redirect
  retry_use_local_part
  allow_fail
  data = :fail: \
   ${if def:h_x-rbl-warning:{$h_x-rbl-warning: or mail abuse@REAL_DOMAIN} \
        {unrouteable address}}


..but of course, def:h_x-rbl-warning: is never true at this stage :-/

So, is there a way of doing this using a router, or do I have to do dark
things with my already-fairly-complicated ACLs? If the latter, is it
something like

  deny    message = "sod off Mr ORDB-listed host"
    hosts = +rbl_hosts
    dnslists = relays.ordb.org
    !verify = recipient


..?

Matt