--On Monday, 23 April, 2007 11:00 -0700
--On Monday, 23 April, 2007 09:03 -0700
John C Klensin wrote:
The strawman proposed text would be a provision that a
client SHOULD (or perhaps even MUST) send a RSET or QUIT
in response to a code whose first digit is undefined by
either 2821bis or a negotiated extension.
I would agree with that. Something like:
If an SMTP client receives a reply code that is not defined
by this RFC or a negotiated extension, it SHOULD send a
RSET or QUIT command, and SHOULD treat the unknown reply
code as a 5xx code.
I'm with you up to the 5yz code. I think 4yz would be more
appropriate - that way you don't bounce messages
unnecessarily when dealing with a broken server.
Hmm. Do you want to requeue it and keep trying for four or
five days on the theory that the server might spontaneously
Believe it or not, servers do spontaneously "fix" themselves
on a regular basis. One reason for this is that bugs tend to
lurk in infrequently used code. Error handling code tends to
be infrequently used, so when some temporary failure occurs
(e.g., the directory server is rebooted and is unavailable for
some period of time) the SMTP server finds itself using some
buggy code that spits out incomprehensible garbage instead of
a proper message. Then the temporary problem clears and the
server no longer engages the buggy code, "fixing" the problem
(until the next time, at least).
I find this discussion (all of it, not just that quoted) very
persuasive, as well as educational. See if the text I suggested
(before seeing this) is satisfactory or, if we need to go
further, please suggest something.