Replies to SMTP commands are devised to ensure the synchronization
of requests and actions in the process of mail transfer, and to
guarantee that the sender-SMTP always knows the state of the
receiver-SMTP. Every command must generate exactly one reply.
The details of the command-reply sequence are made explicit in
Section 5.3 on Sequencing and Section 5.4 State Diagrams.
An SMTP reply consists of a three digit number (transmitted as
three alphanumeric characters) followed by some text. The number
is intended for use by automata to determine what state to enter
next; the text is meant for the human user. It is intended that
the three digits contain enough encoded information that the
sender-SMTP need not examine the text and may either discard it or
pass it on to the user, as appropriate. In particular, the text
may be receiver-dependent and context dependent, so there are
likely to be varying texts for each reply code. A discussion of
the theory of reply codes is given in Appendix E. Formally, a
reply is defined to be the sequence: a three-digit code, <SP>,
one line of text, and <CRLF>, or a multiline reply (as defined in
Appendix E). Only the EXPN and HELP commands are expected to
result in multiline replies in normal circumstances, however
multiline replies are allowed for any command.