I used my super Linode admin powers to see that you are using Debian.
If you are using the split config file method for exim4, the config file you want will be /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt
For monolithic configs search for the string:
Code:
### acl/30_exim4-config_check_rcpt" in /etc/exim4/exim4.conf.template
Scroll down until you find this comment:
Code:
# Accept mail to postmaster in any local domain, regardless of the source,
# and without verifying the sender.
You want to add your DNSBL checking below this check. This will allow inadvertently blocked legitimate senders to send a message to postmaster@yourdomain requesting that their IP be white-listed.
The configuration of a DNSBL check looks like this:
Code:
deny
message = $sender_host_address listed by $dnslist_domain\n$dnslist_text
dnslists = cbl.abuseat.org : bl.spamcop.net : dynamic.spamlists.tqmcube.com : dnsbl.sorbs.net=127.0.0.10
!hosts= ${if exists{CONFDIR/dnsbl_exceptions}\
{CONFDIR/dnsbl_exceptions}\
{}}
I this case, 4 lists are checked. Any positive responses from the first three are used. The fourth is an aggregate list and I, personally, only care about one of the reasons to be listed in this aggregate list. 127.0.0.10 is returned if the IP is on Sorbs's dynamic/generic rDNS list. The "=127.0.0.10" means that only positive responses with this IP will be used for this list.
The last bit provides a mechanism for exempting IPs from DNSBL lists. If /etc/conf.d/dnsbl_exceptions exists, it is checked for the remote host's IP or network.