[Top] [All Lists]

Re: Mail Data termination

2011-08-16 23:00:05

Randall Gellens wrote:

At 8:20 PM -0400 8/16/11, Hector Santos wrote:

NO QUIT means a cancellation because otherwise the only other way to end a SMTP session is for the client to close the socket connection.

To me, this sounds like a confusion between POP and SMTP. In POP, not sending a QUIT cancels any pending deletions. In SMTP, each MAIL transaction stands alone. Sending a QUIT at the very end is required, but failing to do so has no ill effects (and there are a number of clients who don't bother).

Excellent point Randall, but rest assured it is not issue of confusion. In POP3, issuing an QUIT is a requirement in order to move the backend into update mode (either to delete or marked mail received depending on the backend mail storage policies). There is no question about this handshaking requirement.

For SMTP, IMTO, it is an issue of mixed 821 vs 2821 mindsets, old vs new era and an old era that worked under a design presumption on no errors - mail was RFC822 valid, the state machine as always in sync, no reason to presume a redundant sequence of 500 or more command unknown responses has a special meaning and could cause a server to drop the line versus an era where it all does have a meaning for following strong SMTP compliancy.

Just consider if we are saying that a 250 is all a client needs to see, the current SMTP MUST for a QUIT is no longer required and all clients can just simply drop the line.

I am only seeing this with what appears to be older software. Other senders will retry even after a 250 if they can not issue a SMTP required QUIT. If the server dropped the line because of all the 500 responses, these senders will retry regardless of the 250.

So its not just my interpretation. If a session can not be gracefully completely, 5321 senders will retry if they are not mixing it up with a SHOULD as stated in 821.


Hector Santos

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