At 04:26 PM 8/8/2008, Hector Santos wrote:
Lets look at it this way:
In the post SMTP Mail acceptance model, the SMTP receiver is not
doing any local validation, so it issues 250 for the entire RCPT TO
list and accepts the payload at DATA with the post acceptance goal
of doing all the delivery decisions post smtp - very common.
RCPT TO: b <-- 250
RCPT TO: c <-- 250
RCPT TO: d <-- 250
DATA <-- 250
With the post smtp logic, it determines:
b <-- ok for delivery
c <-- temporary issue, not ok for delivery, a BOUNCE is created
d <-- permanent issue, not ok for delivery, a BOUNCE is created
The reply code for c is a temporary issue. There is no need to
generate a bounce yet.
The question is:
Is there a mechanism that exist today that allows
the client to RETRY sending to C based on a BOUNCE?
No. Not that I am aware of or accepted. A bounce is a final disposition.
Why would you do a retry based on a bounce?
In other words, the DATA reply code controls and drives the client
on the payload acceptability or rejection as a whole for all
recipients, temporarily or permanently. The reply codes helps drive
the retry logic.
You are mixing RCPT TO and DATA reply codes.
I would love to know if an existing client that takes the DATA
response and applies it accordingly and differently to each RCPT TO
response - I can't see how that is correctly possible but also I
can't see how this is expected to work right without issues.
There are some content filters that do that. It may not be correct
but it addresses a particular need.
Regards,
-sm