ietf-smtp
[Top] [All Lists]

Re: DATA 554 responses - To Retry or Not.

2008-08-10 09:45:44

Glenn Anderson wrote:

At 11:10 am -0400 10/8/2008, Hector Santos wrote:
ned+ietf-smtp(_at_)mrochek(_dot_)com wrote:

 > D, continue to try USER2, as that transaction was delayed.

That what our MTA does as well - DSN for USER1 and USER3, continue to retry
USER2.

But 2821 says SHOULD NOT retry for DATA 5yz.

Section 4.2.5 says "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." The key word there being "message".

You seem to be confusing the "mail data" (see section 2.3.9), which is just the stuff after the DATA command, with a "message", which is envelope information plus mail data. To retry the same "mail data" plus an envelope specifying user2 as the recipient is not the same "message" as was previously refused, which was the "mail data" plus an envelope specifying user1.

Nah, I am not confusing anything.

I proved very clearly that the erroneous DATA 5yz RETRY for RCPT 450 only interpretation causes mail delivery problems.

The more valid USER1 than USER2 will not get mail with this retry strategy. While USER2 might get the mail by retrying and server status changes to 250, the valid USER1 lost out.

You can only fix that in this erroneous retry method by including the more valid USER1 in your retries.

The other way to fix this?

Well follow the specs is an idea. Wait for a DATA 250, then you know you USER1 got the mail and you can still retry USER2 later if you wish, all within the proper state machine guidelines.

--
Sincerely

Hector Santos, CTO
http://www.santronics.com
http://santronics.blogspot.com