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.
If this is not the case, then indeed, it goes on to explain why we
have serious issues for clients mainly but also for servers who has
to bear the burden of clients not following a long time solid state
machine and fundamental principle.
If it was the case, then you would have an inconsistency between what
would happen if the same 3 transactions were handled individually.
Consider an equivalent, but suboptimal, sender sending 3 copies of
the same message:
MAIL FROM:<s>
250 ok
RCPT TO:<a>
250 ok
DATA
blah blah
.
554 ugh
RSET
250 ok
MAIL FROM:<s>
250 ok
RCPT TO:<d>
450 try later
RSET
250 ok
MAIL FROM:<s>
250 ok
RCPT TO:<r>
550 no such user
QUIT
220 server
Glenn.