+ "Matthew R. Dempsky" <mrd@alkemio.org>:
| On Sat, Nov 25, 2006 at 10:56:13AM +0100, Harald Hanche-Olsen wrote:
| > Be that as it may, changing qmail's behaviour on this issue would
| > probably be nontrivial, due to the way responsibility is divided up
| > between qmail-send and qmail-remote.
|
| Matthias Andree wrote a patch that changes this behavior[1].
|
| [1]
http://www-dt.e-technik.uni-dortmund.de/~ma/qmail/patch-qmail-1.03-rfc2821.diff
I see. But that only changes one thing: If the server greets the
client with a temporary error, then qmail-remote will go to the next
item on the list of MXs.
Unfortunately, RFC 2821 only allows two codes on the initial greeting:
220 and 554. I suspect the rationale behind this is that if the
server knows it has a temporary problem so it cannot receive mail,
then it should not accept connections in the first place.
Also, without further work, if the patched qmail-remote gets a
temporary error on greeting (or fails to connect) for each MX, it will
log the misinformative message "Sorry, I wasn't able to establish an
SMTP connection. (#4.4.1)".
The first place in the SMTP dialog where a temporary error is allowed
is in response to the MAIL command. I suppose one could further
develop the patch to go to the next MX if that happens, but again it
really should keep a record of what really happened and log something
more appropriate than the above #4.4.1 message.
- Harald
|