ietf-smtp
[Top] [All Lists]

Re: DATA 554 responses - To Retry or Not.

2008-08-11 06:34:11

Hector Santos wrote:
I think a single message delivery attempt with N (N>1) recipients should behave exactly identically to N delivery attempts each with a single recipient. Glenn's method works for that, yours doesn't.

False. I suggest it will break more client software retry logic than not.

Go back to the original topic with Tony Finch post. Start from there.

As far as I can make out Tony was just asking for clarification. I may have missed where he said there was a problem with a particular behaviour. He seems to have been happy with Glenn, Ned, Frank, mine, et al's interpretation, just thought it needed clarifying to prevent any possible compatibility issues. The discussion has pointed out at least one of those apparent compatibility issues.

If what you are suggesting was the proper behaviour, it would mean everyone would have to switch their server to send N copies each with a single recipient. Obviously that is a bad move for bandwidth usage, but it's the only way to maximise delivery if a 5xx means failed delivery even for recipients who this message wasn't going to go to anyway.

I think you are over-emphasizing the 'bug' in RFC2821. I know I knew that was a bug, and other people said they hadn't noticed it. IMHO, that was irrelevant. In my understanding, the response to DATA only applied to the recipients who the message was going to go to (ie only those recipients with 250 responses). It was irrelevant for any other previously discounted recipients. Applying the response to DATA to previously failed recipients can only lead to logic errors, so doesn't make sense (how can you deliver a message to a non-existent user?)

If the server acts as I think it should, and the client acts as (I hope) 'you' think it should, then the worst that will happen (AFAICS) is a missed delivery opportunity, with a DSN telling the sender. This may be very bad in some situations, less bad in others. If the server acts as (I hope) 'you' think it should, and the client acts as I think it should, then the worst that will happen (AFACIS) is pointless retries (although, they may not be pointless, and the retries may get through)

OTOH, if you really think that

RCPT TO: USER1  --> 250
RCPT TO: USER2  --> 450
RCPT TO: USER3  --> 550
DATA --> 250

means that USER1, (somehow) USER2 and (somehow, magically) USER3 all get the message, then there is a big compatibility issue which will lead to lost messages.

--
Paul Smith

VPOP3 - POP3/SMTP/IMAP4/Webmail Email server for Windows