Exim: Different mail retry times depending upon response from remote host...
You don't have to be a rocket scientist to realize that the following
remote mailer messages give varying degrees of optimism regarding future
550 Requested action not taken: mailbox unavailable
452 Mailbox full
452 Insufficient disk space; try again later
421 Too many concurrent SMTP connections; please try again later.
With the first, you're pretty sure that the problem is *not* going to be
corrected in the next few days. Meanwhile, the others give you some hope
Unfortunately, I haven't seen anything in Exim that lets you customize
it's retry behavior based upon this. It does offer an "error" field in
the retry section, but it's only for some silly hard-coded failure types.
So, I wrote a little script that goes through all of the msglog files
and finds good candidates to toss (ie, "No such user", "Account
Terminated", etc.). With just a day's worth of tweaking the script, I've
managed to get the pending queue down to about 1/3 of what it was.
But I figured I'd ask... does anybody already have a script for doing
this (or maybe a better way altogether, since this script has to be
explicitly run periodically)?