[exim] Choosing smarthost based on envelope from / sender qu…

Top Page
Delete this message
Reply to this message
Author: chris burgess
Date:  
To: exim-users
Subject: [exim] Choosing smarthost based on envelope from / sender question
We have a list server connected via ADSL, and a smarthost which is hosted at
a remote facility. We'd like to route messages whose sender matches a
specific string (Mailman's bounce messages) via our ISP, while directing
other emails to our smarthost by default.

Our current configuration directs all our email to the smarthost, except
that which will end up at our ISP anyway. (Our smarthost has more
predictable spam filtering, but the ISP mailserver is capable of better
handling the heavy load of processing zombie bounces to list addresses.)

It seems easy to route based on the recipient domain, but how to do so based
on the sender local part is not so obvious to me. Is this possible?

Here's an excerpt of relevant parts (hope I've included everything we need?)
from our current config:

############################
# domain lists

domainlist local_domains = @ : \
    @[] : \
    lists.ourdomain.com


domainlist route_via_isp = ourisp.com

############################
# routers

smarthost_isp:
driver = manualroute
domains = +route_via_isp
route_list = * smtp.ourisp.com bydns
transport = remote_smtp

smarthost_ourdomain:
driver = manualroute
domains = ! +local_domains
route_list = * smtp.ourdomain.com bydns
transport = remote_smtp

dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

#
############################

Our aim is to route any address matching *-bounce@??? or *-
request@??? to the smarthost_isp router, preserving the
smarthost_ourdomain default for other traffic.

Does anyone have a similar example that would help us achieve this?