ietf
[Top] [All Lists]

Re: Last Call: SMTP Service Extension for Content Negotiation to Proposed Standard

2002-07-03 14:48:46
Well, it is certainly possible to arrange the additional conneg data so 
it is
identifiable as such. As for not affecting the response, I'm not sure I 
see the
problem: If the client wants an interop guarantee, it requires a conneg
response, and handles 4yz and 5yz codes as temporary or permanent failures
without regard to what's causing the error.

I guess I don't see how this helps the client much, because you can get
interop failures even when there is a conneg string for each recipient.

It helps the client because it can now distinguish between temporary and
permanent conneg failures.

granted it's necessary for the client to be able to do that, but my point
is that having the server report conneg faliures in the RCPT status code
doesn't relieve the client of the necessity to detect other conditions
resulting from valid conneg strings that can cause delivery failure.
it's not as if the client can rely only on the response code to determine
how to handle the message.

So it seems that the proposal could be usefully simplified  by removing the
OPTIONAL vs REQUIRED flag from the CONNEG parameter, and having the server
report back the CONNEG status (yes, no, or tempfail) as part of the
response rather than in the reply/status codes.

That would also work, but I don't think it is a useful simplification because
it creates even more instances where the command succeeded but the client
needed for it to fail. The server side of this is trivial either way.

what it accomplishes is to clearly separate different potential sources of 
failure into different indications.  a RCPT status codes indicating failure
would mean that the server has a problem with sending the message to the 
recipient, as distinct from failures caused by the client's inability
or unwillingness to deliver the message to the recipient based on the
server's conneg report for that recipient.

right now we have the situation where the server is essentially being asked 
to report an error (and an error code) which is really happening on the client.
the server doesn't know the reason that the client doesn't want to deliver 
the message to the recipient, and it shouldn't be expected to report the
error (or the enhanced status code) in the absence of such knowledge.

that, and once we've established that it's okay to use RCPT to request 
information about the recipient's UA capabliities and preferences,
it's hard to imagine that there won't be a demand to use RCPT to request
other information about the recipient's UA or preferences, such as
whether the recipient will honor MDN requests, what languages the
recipient can read, whether the recipient wants to opt-out of spam, 
whether the recipient supports vendor-proprietary extension FOO, etc.
(I didn't say that I liked all of these ideas, just that these are
obvious uses of a facility that lets you query UA capabilities.
OTOH I do like some of them.)

and if we go down that path we might really regret having allowed CONNEG
to alter the RCPT reply code.

Keith



<Prev in Thread] Current Thread [Next in Thread>