[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Smail offline queue solution :^)



hi all,

i've been fighting smail for a few days now, trying to force it to accept
mail sends while its ppp connection is down (previously it would dns-block
-looking for smarthost- and the mail client on my intranet would eventually
give up).

one solution i had was to add my isp into a zone on my dns (my intranet is
now a fully-blown internet site with mail and all :) but that was just
plain silly (what if they changed anything? we would have to update ours
manually too - silly!

the solution i have arrived at is to have two files :
/etc/named.conf-no-ppp and named.conf-ppp.
the -no-ppp had the forwarding ip address and the "." zone (named.root)
commented out.

in the ip-up.d and ip-down.d directories, i added a script that would
remove the old named.conf, make a new symbolic link to the appropriate
named.conf-xxx, and restart bind with its init.d script. i also added a
link to the runq binary in the ip-up.d directory so that the queue would be
flushed as soon as the link came up.

so, now when i send a message when the pppline is up, the mail is sent
immediately, as it should be.
when the ppp line is down, smail accepts messages straight away from the
clients, delivers what it can (is locally for immediate retrieval) and
simply tries again and again on the outgoing ones... (haven't waited for a
bounce to come back - but it doesn't occur within 5 mins, so looks like it
works the same as if the destination is down).... when the connect comes
up, the dns is restarted with the correct entries and the mail is sent :)))

oh and to get rid of named getting killed badly at shutdown (bind is killed
in the rcx.d scripts first, then ppp is killed - which restarts named!
which dies when the TERM signal is sent again) to fix that, i simply moved
all K19bind instances to K21bind, so it dies after ppp restarts named :))

woo hoo, hope this helps someone else, cause i couldn't find this solution
out there!

cya,
Paul Harris


Reply to: