John C Klensin wrote:
Mail transactions are initiated by a MAIL command (see Section
3.3) and extend until a QUIT or RSET is issued or a DATA command
completes, whichever comes first. I think the spec is very
clear about that -- if you disagree, point out where and,
preferably, supply text.
As stated, my server implementation support both 821 and 2821/5321,
where the former the 250 response is coupled with a immediate signal
to the router to process the message, then the receiver moves back to
command mode and waits for more SMTP commands. A client can drop the
line with no change in message status. QUIT is not required per 821.
In the 2821 QUIT required mode, an ungraceful session aborts the
pending delivery. It has to issue a QUIT or start a new transaction,
at which the router is signed to finally handle the message.
If you think this an error in interpretation than I am clearly not the
only one, because there are senders, who irregardless of the 250
response will wait until they are able to issue a QUIT before making
the message "Sent" complete. If they are not able to send the QUIT,
again even with the 250 issued, they will most definitely try again.
If we are wrong, then the 2821/5321 specs is bad because it has a QUIT
MUST mandate and you can't blame use because the only logical
technical different with 821 was that it was not required and the only
thing left was a 250 signal and thus allow them to drop the connection
as soon as they saw that.
That is not allowed in 2821/5321.
All I can say that it wasn't done without reason in these day of
spammers who exploit the ideas of blasting receivers and not
respecting any server responses. The only way to catch these is with
a QUIT requirement. Going back to 821 mode where QUIT is not required
is guaranteed to cause a system to add more design consideration for
dupe checking.
--
Sincerely
Hector Santos
http://www.santronics.com