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.