On 8/10/08 at 3:55 PM -0400, Hector Santos wrote:
Take the following example:
S: 220 foo.com Simple Mail Transfer Service Ready
C: EHLO bar.com
S: 250-foo.com greets bar.com
S: 250-VRFY
S: 250 HELP
C: MAIL FROM:<Smith(_at_)bar(_dot_)com>
S: 250 OK
C: VRFY Jones(_at_)foo(_dot_)com
S: 250 <Jones(_at_)foo(_dot_)com>
C: RCPT TO:<Jones(_at_)foo(_dot_)com>
S: 250 OK
C: VRFY Green(_at_)foo(_dot_)com
S: 250 <Green(_at_)foo(_dot_)com>
C: RCPT TO:<Green(_at_)foo(_dot_)com>
S: 450 Can't send to him right now
C: DATA
S: 354 Start mail input; end with <CRLF>.<CRLF>
C: Blah blah blah...
C: ...etc. etc. etc.
C: .
S: 250 OK
C: QUIT
S: 221 foo.com Service closing transmission channel
So, the message was delivered successfully to Jones(_at_)foo(_dot_)com(_dot_)
According to 4.2.5 above, since Green(_at_)foo(_dot_)com exists, and foo.com
(the server) has sent back a 250 to the DATA command, foo.com (the
server) now has responsibility for delivering the message to
Green(_at_)foo(_dot_)com (retrying if necessary) and bar.com (the client)
SHOULD NOT attempt to retry delivery to Jones(_at_)foo(_dot_)com(_dot_) Is this the
correct interpretation?
Unless I am not see the "ah ha" in your example, in my technical
opinion, it is exactly what it means.
OK, I suspected this was Hector's interpretation. As Ned pointed out,
there is general consensus that 4.2.5 does *not* mean that and never
did. It has also been amply demonstrated here by several folks that
the damage done (in terms of lost mail) by interpreting it Hector's
way is far greater than the converse. If there are others who read
it the same as Hector (and more importantly, implemented it that
way), it is important that we document that this is not correct.
Either way, it's probably worth writing a document explaining this
for beginners.
[BTW: This document would not be a BCP. It's protocol implementation
info, and therefore worthy of standards track, IMO. (Enough acronyms
for you?)]
pr
--
Pete Resnick <http://www.qualcomm.com/~presnick/>
Qualcomm Incorporated - Direct phone: (858)651-4478, Fax: (858)651-1102