[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Retry question
On Sun, 2008-08-10, Pete Resnick wrote:
> Your claims about 5xz return codes in 4.2.5 of 2821bis bring up an
> interesting interpretation. 4.2.5 also says:
> When an SMTP server returns a positive completion status (2yz code)
> after the DATA command is completed with <CRLF>.<CRLF>, it accepts
> responsibility for:
> o delivering the message (if the recipient mailbox exists) , or
Note the use of the singular here: "the recipient mailbox". This could be
an example of imprecise wording surrounding the handling of multi-recipient
messages or perhaps an implied "FORALL Recipients...".
I have been bothered by this imprecision since I first read 821, but I
assumed that the concensus had been that common sense would discover the
"obvious intent".
> o if attempts to deliver the message fail due to transient
> conditions, retrying delivery some reasonable number of times at
> intervals as specified in Section 4.5.4.
> o if attempts to deliver the message fail due to permanent
> conditions, or if repeated attempts to deliver the message fail
> due to transient conditions, returning appropriate notification to
> the sender of the original message (using the address in the SMTP
> MAIL command).
> 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: VRFY Smith@xxxxxxx
> S: 250 <Smith@xxxxxxx>
> C: MAIL FROM:<Smith@xxxxxxx>
> S: 250 OK
> C: VRFY Jones@xxxxxxx
> S: 250 <Jones@xxxxxxx>
> C: RCPT TO:<Jones@xxxxxxx>
> 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
> According to 4.2.5 above, since Jones@xxxxxxx 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
> Jones@xxxxxxx (retrying if necessary) and bar.com (the client) SHOULD
> NOT attempt to retry delivery to Jones@xxxxxxxx Is this the correct
> interpretation?
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"
--
Bill McQuillan <McQuilWP@xxxxxxxxx>