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 . 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.