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
|
|