Hector Santos wrote:
SMTP is a client/server state machine protocol . Like in most state
machines, the SMTP server should not send out a response or information
unless it received a request, command or signal (as in the SMTP connection
signal) from the client. SMTP clients are not designed to received
unsolicited responses.
But there is the 421 message which SMTP servers can send. RFC 2821,
Section 3.9 says:
An SMTP server MUST NOT intentionally close the connection except:
...
- After detecting the need to shut down the SMTP service and
returning a 421 response code. This response code can be issued
after the server receives any command or, if necessary,
asynchronously from command receipt (on the assumption that the
client will receive it after the next command is issued).
...
An SMTP server which is forcibly shut down via external means SHOULD
attempt to send a line containing a 421 response code to the SMTP
client before exiting. The SMTP client will normally read the 421
response code after sending its next command.
It seems to me that timeout because of inactivity has some similarity
with the circumstance calling for a 421 response code. In both cases
the server is going to terminate the connection. If it is expected to
send a response code asynchronously from command receipt in the case
of forced server shutdown, why not in the case of timeout?
Rich