If the connection is closed in the middle of a DATA command, for example from a destructor after SIGTERM, the server takes QUIT as part of the message and the connection only ends when it times out. SMTP now keeps the last command it sent in a state property, and quit() just closes the connection when that command is DATA, as discussed in #3121. Fixes #2994