
         The syntax of the above argument fields (using BNF notation
         where applicable) is given below.  The "..." notation indicates
         that a field may be repeated one or more times.

            <reverse-path> ::= <path>
            <forward-path> ::= <path>
            <path> ::= "<" [ <a-d-l> ":" ] <mailbox> ">"
            <a-d-l> ::= <at-domain> | <at-domain> "," <a-d-l>
            <at-domain> ::= "@" <domain>
            <domain> ::=  <element> | <element> "." <domain>
            <element> ::= <name> | "#" <number> | "[" <dotnum> "]"
[ These lead to "valid" forms of:  foo@[1.2.3.4].bar.#1234  !!	Oh yeah ? ]
            <mailbox> ::= <local-part> "@" <domain>
            <local-part> ::= <dot-string> | <quoted-string>
[ Augment with:            | <local-part> "%" <local-part>
			   | <local-part> "!" <local-part>	]
            <name> ::= <a> <ldh-str> <let-dig>
            <ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
            <let-dig> ::= <a> | <d>
            <let-dig-hyp> ::= <a> | <d> | "-"
            <dot-string> ::= <string> | <string> "." <dot-string>
            <string> ::= <char> | <char> <string>
            <quoted-string> ::=  """ <qtext> """
            <qtext> ::=  "\" <x> | "\" <x> <qtext> | <q> | <q> <qtext>
            <char> ::= <c> | "\" <x>
            <dotnum> ::= <snum> "." <snum> "." <snum> "." <snum>
            <number> ::= <d> | <d> <number>
            <CRLF> ::= <CR> <LF>
            <CR> ::= the carriage return character (ASCII code 13)
            <LF> ::= the line feed character (ASCII code 10)
            <SP> ::= the space character (ASCII code 32)
            <snum> ::= one, two, or three digits representing a decimal
                      integer value in the range 0 through 255
            <a> ::= any one of the 52 alphabetic characters A through Z
                      in upper case and a through z in lower case
            <c> ::= any one of the 128 ASCII characters, but not any
                      <special> or <SP>
            <d> ::= any one of the ten digits 0 through 9
            <q> ::= any one of the 128 ASCII characters except <CR>,
                      <LF>, quote ("), or backslash (\)
            <x> ::= any one of the 128 ASCII characters (no exceptions)
            <special> ::= "<" | ">" | "(" | ")" | "[" | "]" | "\" | "."
                      | "," | ";" | ":" | "@"  """ | the control
                      characters (ASCII codes 0 through 31 inclusive and
                      127)

         Note that the backslash, "\", is a quote character, which is
         used to indicate that the next character is to be used
         literally (instead of its normal interpretation).  For example,
         "Joe\,Smith" could be used to indicate a single nine character
         user field with comma being the fourth character of the field.

         Hosts are generally known by names which are translated to
         addresses in each host.  Note that the name elements of domains
         are the official names -- no use of nicknames or aliases is
         allowed.

         Sometimes a host is not known to the translation function and
         communication is blocked.  To bypass this barrier two numeric
         forms are also allowed for host "names".  One form is a decimal
         integer prefixed by a pound sign, "#", which indicates the
         number is the address of the host.  Another form is four small
         decimal integers separated by dots and enclosed by brackets,
         e.g., "[123.255.37.2]", which indicates a 32-bit ARPA Internet
         Address in four 8-bit fields.



         The time stamp line and the return path line are formally
         defined as follows:

         <return-path-line> ::= "Return-Path:" <SP><reverse-path><CRLF>
         <time-stamp-line> ::= "Received:" <SP> <stamp> <CRLF>
            <stamp> ::= <from-domain> <by-domain> <opt-info> ";"
                      <daytime>
            <from-domain> ::= "FROM" <SP> <domain> <SP>
            <by-domain> ::= "BY" <SP> <domain> <SP>
            <opt-info> ::= [<via>] [<with>] [<id>] [<for>]
            <via> ::= "VIA" <SP> <link> <SP>
            <with> ::= "WITH" <SP> <protocol> <SP>
            <id> ::= "ID" <SP> <string> <SP>
            <for> ::= "FOR" <SP> <path> <SP>
            <link> ::= The standard names for links are registered with
                      the Network Information Center.
            <protocol> ::= The standard names for protocols are
                      registered with the Network Information Center.
            <daytime> ::= <SP> <date> <SP> <time>
            <date> ::= <dd> <SP> <mon> <SP> <yy>
            <time> ::= <hh> ":" <mm> ":" <ss> <SP> <zone>
            <dd> ::= the one or two decimal integer day of the month in
                      the range 1 to 31.
            <mon> ::= "JAN" | "FEB" | "MAR" | "APR" | "MAY" | "JUN" |
                      "JUL" | "AUG" | "SEP" | "OCT" | "NOV" | "DEC"
            <yy> ::= the two decimal integer year of the century in the
                      range 00 to 99.
            <hh> ::= the two decimal integer hour of the day in the
                      range 00 to 24.
            <mm> ::= the two decimal integer minute of the hour in the
                      range 00 to 59.
            <ss> ::= the two decimal integer second of the minute in the
                      range 00 to 59.
            <zone> ::= "UT" for Universal Time (the default) or other
                      time zone designator (as in [2]).
