Jason Frisvold wrote:
On 11/27/06, Marc Perkel <marc@perkel.com> wrote:
No - on my system a 4xx error only means that that particular server
isn't
ready. It means try the other servers or come back later. It
certianly dos
not mean that all the servers aren't ready. That's what I use EXIM
and not
Qmail. All other MTAs except Qmail behave this way. it's what the
spec says.
Qmail does it wrong.
Hrm.. I find this interesting and slightly disturbing. Can you
please provide the spec and highlight the passage which identifies
this behavior as correct?
I'm not sure I like the idea of a mail server immediately trying
another MX if the initial one it contacted was busy. This just
creates additional load on the other MXs and can cause additional
meltdown. I believe the "correct" way for this to work is to queue
the message when a 4XX is received and retry later. When later
arrives, the MX lookup is repeated and at that point it's possible
that an alternative server is chosen.
I thought this was relevant, and should have answered your question:
as per section 5 of RFC 2821 circa 2001: Address Resolution and Mail
Handling
To provide reliable
mail transmission, the SMTP client MUST be able to try (and retry)
each of the relevant addresses in this list in order, until a
delivery attempt succeeds. However, there MAY also be a configurable
limit on the number of alternate addresses that can be tried. In any
case, the SMTP client SHOULD try at least two addresses.
|