[exim] Exim retry bypasses system filter

Top Page
Delete this message
Reply to this message
Author: Brent Jones
Date:  
To: exim-users
Subject: [exim] Exim retry bypasses system filter
Hello Exim users,
We have some Exim servers that uses the system filter to save certain
messages to an NFS backing store. While this works a majority of the
time, we would like a graceful way to handle when the NFS server may
be down for maintenance.
The OS handles it find using soft mounts, if the server is unavailable
it will notify Exim for example that a timeout occured.
Exim will properly defer the message at that point and keep it
spooled/retry queue. However, when the message is tried next, it will
not go through the system filter as I would like it to, it will
instead use the first router than can handle the message.
The behavior as I understand it written on:
http://www.exim.org/exim-html-current/doc/html/spec_html/ch43.html
"The system filter is run at the start of a delivery attempt, before
any routing is done. If a message fails to be completely delivered at
the first attempt, the system filter is run again at the start of
every retry."

That to me means for retry deliveries, it should re-process the system
filter, instead of jumping to the routers immediately. However, my
system filter does take into account sender host address, and sender
address domain. Do retry attempts not include this information with it
comes up for delivery again? If not, how would I re-process these
messages and categorize them correctly?

An example system filter rule:

if ${mask:$sender_host_address/24} is 10.0.0.0 and  (
$sender_address_domain is spammer.com )
        then
              save /some/nfs/share/
endif


Any thoughts would be greatly appreciated

--
Brent Jones
brent@???