+.pp
+When an agent wants to send a message,
+it does a normal program call to
+.i sendmail .
+The arguments it passes include flags giving options
+and a list of addresses of intended recipients.
+It then writes the message to be sent to the standard input
+of
+.i sendmail .
+.i Sendmail
+delivers the message if possible,
+saving a copy of it if there were errors,
+and returns an exit status code
+telling what (if anything) went wrong.
+.pp
+The message should have a header at the beginning.
+The header is formatted as a series of lines
+of the form
+.(b
+field-name: field-value
+.)b
+Field-value can be split across lines by starting the following
+lines with a space or a tab.
+The header is separated from the body of the message
+by a blank line.
+No formatting requirements are imposed on the message
+except that they must be lines of text
+(i.e., binary data is not allowed).