I have added this option true in a 3.36 setup:
lookuphost:
driver = lookuphost
transport = remote_smtp
self = fail
pass_on_timeout = true
and after the smarthost line.
My intent was that :
1. any message (mostly error messages) that go to an address whose
main MX record points for some DNS error to my host (such using a
theirhost. where had been theirhost.their.domain. and
theirhost.my.domain is the same as myhost.my.domain ! ) should be
thrown away
2. any message whose DNS is unreacheable had to be passed to
another ligtlier loaded host to retry eventual delivery.
3. If for any reason the message cannot be delivered immediately the
message should go to the same host as 2 for delivery.
Now the first requirement seems to be achieved,
Number 2 works correctly (althought most of the time messages pile up in
the backup server ...) .
The problem is number 3: althopught reading in the exim documentation
looks as if pass_on_timeout works either on any connection problem i
keep having these lines in my log:
2004-03-27 10:11:38 1B75Cb-00085x-00 == aqhcqstmc@???
T=remote_smtp defer (101): Network is unreachable
This occours when the DNS give a positive reply, but the network is
unreacheable [the DNS server, my main mail host and the backup host
are connected in a LAN but have [been deliberately put on] three diferent
outbound connections, so if there are problems along the net, the the
same remote host can be reached by one or more of the three host, but
not from the others] .
How can i succeed in avoiding that 101 errors, passing it directly to the
backup server ?
(other than piping the exim/mainlog to a progrm that intercept such errors
and pass the message to the other host, but i do not think is elegant !)
Leonardo Boselli
Firenze
http://www.toscanarail.org