As presented in the text, SMTP involves the exchange of several small
messages. In most cases, the server responses do not affect what the client
sends subsequently. The client might thus implement command pipelining:
sending multiple commands in a single message.
(a) For what SMTP commands does the client need to pay attention to the
server's responses?
(b) Assume the server reads each client message with gets() or the equivalent,
which reads in a string up to an \(\langle\mathrm{LF}\rangle\). What would it
have to do even to detect that a client had used command pipelining?
(c) Pipelining is nonetheless known to break with some servers; find out how a
client can negotiate its use.