Subject: [Fwd: RFC2821 issue]

From: Mathias Koerber <[email-masked]>
Date: Mon, 16 Oct 2006 09:48:01 +0800

Dear editor,

I tried sending this to John Klensin directly but am not sure
whether this has in fact reached him, as the address in the
RFC is old and I grabbed the best one I could find online.

Mathias

-------- Original Message --------
Subject: RFC2821 issue
From: Mathias Koerber <[email-masked]>
To: [email-masked]

John,

[ I hope sending to you at this address is ok as the one quoted in
the RFC is no longer valid.. ]

it's a bit late, but I found an ambiguity in RFC2821 which I believe
is the result of a simple editing error, and would like your input
as the editor of said RFC...

Specifically (quoting from http://www.faqs.org/rfcs/rfc2821.html)

| 4.2.5 Reply Codes After DATA and the Subsequent <CRLF>.<CRLF>
|
|    When an SMTP server returns a positive completion status (2yz code)
|    after the DATA command is completed with <CRLF>.<CRLF>, it accepts
|    responsibility for:
|
|    -  delivering the message (if the recipient mailbox exists), or
|
|    -  if attempts to deliver the message fail due to transient
|       conditions, retrying delivery some reasonable number of times at
|       intervals as specified in section 4.5.4.
|
|    -  if attempts to deliver the message fail due to permanent
|       conditions, or if repeated attempts to deliver the message fail
|       due to transient conditions, returning appropriate
notification to
|       the sender of the original message (using the address in the
SMTP
|       MAIL command).
|
|   When an SMTP server returns a permanent error status (5yz) code
after
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I believe this to be a mistake and that it should read 'transient
error status (4xy)' as this paragraph talks about requeuing and the
permanent
case is discussed 2 paragraphs down.

Should that interpretation be correct, is it permitted to issue a
temp-failure after the final '.'?

|    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).
|
|    The user who originated the message SHOULD be able to interpret the
|    return of a transient failure status (by mail message or otherwise)
|    as a non-delivery indication, just as a permanent failure would be
|    interpreted.  I.e., if the client SMTP successfully handles these
|    conditions, the user will not receive such a reply.
|
|    When an SMTP server returns a permanent error status (5yz) code
after
|    the DATA command is completely 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 and intervention of the message.

This came up in a discussion whether it is legal for a server to
send a transient failure after DATA and the subsequent <CRLF>.<CRLF>

regards
Mathias