ietf-smtp
[Top] [All Lists]

Re: Improved straw man for retry scenarios

2008-08-09 21:48:52

At 12:04 am -0400 10/8/2008, Hector Santos wrote:
Glenn Anderson wrote:

At 9:37 pm -0400 9/8/2008, Hector Santos wrote:
John Levine wrote:

Which, if any, of a, d, and r get retried?  Why or why not?  What if
the 554 were a 421 or 451?

DATA 554 trumps them all.  No Retries for this transaction.

There are actually 3 transactions, one for each recipient. The 554 response to the DATA command only applies to the transactions that haven't already been rejected or delayed.

That is not what 2821/2821bis says in 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.

It says "message", not transaction. All that is saying that if you get a 5XX response to the DATA command, you shouldn't send the message body.

This applies to single or multiple RCPT list, rejected or otherwise.

No it doesn't, it only applies to the transactions still in progress.

It doesn't make the distinction because its a flat out non-acceptance for all.

It is only a rejection of the transactions still in progress. For the recipient that has received the 4XX response, and the recipient that has received the 5XX response, those transactions have already finished for this session.

If we changed this, in order to be technically correct at the protocol state machine level, then we have to go back to the meanings of the RCPT reply code for 250:

  RCPT 250 - no matter what DATA says, the mail will be delivered.

Where on earth do you get that idea from?

In other orders, we made the decision at the point, before even seeing the data, that this user will ALWAYS get the mail.

No, the DATA command and the message body can still be refused for appropriate reasons.

Glenn.