Pete Resnick wrote:
On 8/10/08 at 11:10 AM -0700, Bill McQuillan wrote:
I believe that, not withstanding the VRFY, the "450 Can't send to him
right
now" means that Jones is NOT a recipient of the message in THIS
transaction. Thus, the server should probably have responded to "DATA"
with
"554 No recipients given"
Darnnit! I screwed up the example (in several places). Let's try that
again:
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?
[Again, I think that this is *not* the correct interpretation.]
Unless I am not see the "ah ha" in your example, in my technical
opinion, it is exactly what it means.
But you see this is what Tony Finch originally brought up.
How CLIENTS will treat the 450 for retry.
Some MTA will not even bother until all RCPT are acceptable.
Some MTA will skip the 450 - don't even bother
Some MTA will retry the 450 - as they SHOULD but there are reasons why
it won't.
What is killing this thread is the DATA 5yz angle to this.
IMO, there are two possible reasons for this:
1) The 2821 spec in 4.2.5 had a TYPO where it did say 5yz allowed
for a retry. This was corrected in 2821bis. But it might be too
late because we have 8 years of software training around the
incorrect semantic.
2) Migrating from a POST SMTP delivery decision model, can put some
pressure in trying to get SMTP to behave in ways they were use to
for a long time.
--
Sincerely
Hector Santos, CTO
http://www.santronics.com
http://santronics.blogspot.com