John C Klensin wrote:
<McQuilWP(_at_)pobox(_dot_)com> wrote:
There is no contradiction here! Only a clarification of the
duties of different ends of the dialog.
That was certainly the intent.
I don't think that is the issue. The issue is now what does a DATA
response of 5yz means. What you have in 2821/2821bis:
[2821/2821bis - 4.2.5]
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 the message. As
with temporary error status codes, the SMTP client retains
responsibility for the message, but SHOULD not again attempt
delivery to the same server without user review of the message
and response and appropriate intervention.
It appears, at least with Glenn's MTA, it is assuming in a multiple
RCPT reply code scenario with DATA 5yz:
RCPT USER1 -> 250 -> DATA 5yz -> delivered
RCPT USER2 -> 450 -> DATA 5yz -> not delivered, MTA will retry.
The correct behavior this deliver, not deliver is when DATA is 250.
Am I wrong?
I am thinking the current specs 2821 which incorrectly says is the
source of the problem:
[2821 - 4.2.5]
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).
But you corrected this in 2821bis. Do people believe this current 2821
semantic is correct?
--
Sincerely
Hector Santos, CTO
http://www.santronics.com
http://santronics.blogspot.com