Once we set up routing for -bounce@ourdomain, it was obvious that all list
messages have a sender envelope of -bounces@ourdomain. So I've had to modify
my conditions. The router errors_via_isp below is intended to look for
Mailman traffic which originates from the list, by comparing the envelope
sender and From: headers.
If those match, then the email should be handed to the ISP mailserver. (Our
aim is to use our mailserver for handling priority mail rather than bounced
spam.)
The config below seems to work, but I'd appreciate any critique or
suggestions.
Thanks for your help so far!
############################
# domain lists
domainlist local_domains = @ : \
@[] : \
lists.ourdomain.com
domainlist route_via_isp = ourisp.com : isphosted.com : hotmail.com
############################
# routers
##
## route these domains to ISP directly
##
smarthost_isp:
driver = manualroute
domains = +route_via_isp
route_list = * smtp.ourisp.com bydns
transport = remote_smtp
##
## divert automatically generated mail via isp, so spam bounces don't mar
## our reputation
##
errors_via_isp:
driver = manualroute
senders = ^.*-request@.* : \
^.*-bounces@.* : \
^.*-bounces+.*@.* : \
^.*-confirm+.*@.* : \
^.*-join@.* : \
^.*-leave@.* : \
^.*-owner@.* : \
^.*-request@.* : \
^.*-admin@.* : \
^owner-.*@.*:\
^postmaster@.*:\
^webmaster@.*:\
^listmaster@.*:\
^mailer-daemon@.*:\
^root@.*
condition = ${if eq {$sender_address} {$h_from:} {yes} {no}}
route_list = * smtp.ourisp.com bydns
transport = remote_smtp
##
## route most normal mail to our server for delivery
##
smarthost_ourdomain:
driver = manualroute
domains = ! +local_domains
route_list = * smtp.ourdomain.com bydns
transport = remote_smtp
##
## direct delivery (only if the above fail)
##
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
#
############################