The name
portion of the H
configuration command
must be one of the names shown below.
Other names do not produce an error but may confuse
other programs that need to process those illegal names.
Names marked with an asterisk are defined by RFC822.
apparently-to | full-name | reply-to* | return-receipt-to |
bcc* | in-reply-to* | resent-bcc* | sender* |
cc* | keywords* | resent-cc* | subject* |
comments* | mail-from | resent-date* | text* |
content-length | message* | resent-from* | to* |
content-type | message-id* | resent-message-id* | via |
date* | posted-date | resent-reply-to* | x400-received |
encrypted* | precedence | resent-sender* | |
errors-to | received* | resent-to* | |
from* | references* | return-path* |
These are discussed individually in Section 35.10, "Alphabetized Reference" at the end of this chapter.
The RFC822 standard allows a special form to be used for creating custom
header names.
All mail programs, including sendmail, are required to accept
and pass through as is any header name that begins with the special
characters x-
. The following header definition, for example,
can be used to introduce information that your site is running an
experimental version of sendmail:
HX-Beware: This message used an experimental version of sendmail
The name
part of header definitions is case-insensitive. That
is, X-Beware
, x-beware
, and X-BEWARE
are all
the same.
For example, when sendmail checks for the To:
header
internally, it will recognize it no matter how it is capitalized.
Beginning with V8 sendmail, header names are left alone. They are passed through without case conversion of any kind. Previous assumptions [1] about capitalization are no longer valid in light of new headers generated and expected by programs.
[1] Prior to V8 sendmail, all headers were converted to lowercase and stored. Later, when mail was sent, they were then capitalized in a way similar to that of proper names, in which the first letter of each word was capitalized.
Header names may contain only printable characters. Names may not contain control characters, space characters (such as space and tab), or the colon character. An illegal character will result in this error message:
header syntax error, line "HFull Name: $x
"
Here, the error is a space in the name portion of the header declaration.