John Levine wrote:
Well, I guess I was right when I suggested that a separate document to
pass along our accumulated wisdom would be a good idea.
Easier to remember straw man:
> ..
DATA
blah blah
.
554 ugh
QUIT
220 server
Which, if any, of a, d, and r get retried? Why or why not? What if
the 554 were a 421 or 451?
In your answer, please consider RFC 2821 section 4.2.5, particularly
the suggestion to requeue the message in the antepenultimate paragraph
of that section.
As I said, not straw man here.
In 2821, it was a TYPO
When an SMTP server returns a permanent error status (5yz)
code after the DATA command is completed with <CRLF>.<CRLF>,
it MUST NOT make any subsequent attempt to deliver that
message. The SMTP client retains responsibility for delivery
of that message and may either return it to the user or
requeue it for a subsequent attempt (see section 4.5.4.1).
Which was fixed in 2821bis:
When an SMTP server returns a temporary error status (4yz)
code after the DATA command is completed with <CRLF>.<CRLF>,
it MUST NOT make a subsequent attempt to deliver that message.
The SMTP client retains responsibility for delivery of that
message and may either return it to the user or requeue it for
a subsequent attempt (see Section 4.5.4.1).
So the question is now:
Did the 8 year old 2821 document which this typo and wrong to begin
with, create a new market of broken clients that will retry
transaction on DATA 5yz responses, enough to remove the 2821bi correction?
I don't think so because it was wrong to begin with and there were
already many servers and clients behaving correctly before 2821 came
along.
--
Sincerely
Hector Santos, CTO
http://www.santronics.com
http://santronics.blogspot.com