At our location, I currently employ a cluster of 5 mail machines which
handle all inbound and outbound mail (Exim v3.35). These machines accept
and check messages using SA, for roughly 1962 different domains, and
subsequently deliver mail to an internal mailstore machine. Traffic to and
from the mailstore combined, is roughly 14GB a day, with the
internet-facing servers seeing significantly more traffic.
On average, across all the machines, I'm seeing queue depths of 4000+
undeliverable messages per machine. An overwhelming majority of these
messages are bounces for non-existent users to forged/bad or unresponsive
addresses. Right now these messages will stick around until the retry rules
expire, and are then discarded (ignore_errmsg_errors is set).
In an effort to keep queue depths lower, I've put together a
router/transport combo that nukes bounce messages to remote domains which
are older than 8 hours.
Router:
bouncer:
driver = domainlist
transport = blackhole
condition = ${if and { {eq {$sender_address}{}} \
{ >{$message_age}{28800}} \
} {1}{0}}
route_list = *
Transport:
blackhole:
driver = appendfile
user = mail
file = /dev/null
Obviously simple, and looking at the current queues, this should be quite
effective. Queue sizes, when this new combo is installed, should drop by
at least 75%.
I'm wondering if anyone else is doing the same, and at what threshhold you
decide to drop stale bounces? Or are you employing another method in dealing
with non delivering bounces?
Comments, ideas?
Jason
--
--------------------------------------------------------------------------
Jason Hansen jhansen@???
"The necktie is a serpentlike symbol of evil worn by humales."
---from an Xist space transmission intercepted by the U.S. Navy, 1960.