On 17 Aug 2011, at 06:21, Hector Santos wrote:
At 20:23 16-08-2011, Hector Santos wrote:
So the only highly subjective argument which I will never buy as being
absolute in either direction is that the receiver MUST ALWAYS deliver with
the 250 even for invalid messages.
As a clarification, acceptance of a message (SMTP transaction) does not
equate with delivery, i.e. the SMTP server already sent the 250, it cannot
send a 550 as it already provided a reply code. John commented on the
server sending a NDN if it deems fit. Randall Gellens commented on the
timing issue. I haven't seen anyone arguing in this thread that the
receiver must always deliver.
Point taken, and I agree, but I guess I took offense to the incorrect
singular interpretation label which is clearly not correct and wouldn't make
sense to design products that will operates one way that no one supports.
Here is one sender log (trust me its more than one sender) that will resend
regardless of DATA response
250 message accepted for delivery
simply because it was not able to issue the 2821/5321 SMTP required QUIT.
Wait a minute. You didn't advertise PIPELINING. Do your logs report the
lock-step reads and writes of CRLF-terminated lines from the network, or would
they print the entire buffer content? If the former, there is the possibility
that the client never finishes sending data to you before it gets a write
error, and is thus forced to shut down without completing a mail transaction
(it doesn't realise that it has incorrectly terminated the transaction). This
would not indicate that it wants to send QUIT, only that it never got a chance
to read the 250 response before you killed the connection.