From: header lists the address of one or more
senders, where each sender address can be in one of four legal forms:
Full Name <address>
When the From: header lists multiple senders (in
the sense that there can be multiple authors) each must be separated
from the others by commas:
From: address, address
Here, address specifies destination
mailboxes, and each can be in any of the four basic forms shown
earlier. When multiple senders (authors) are in the
From: header, the presence of the
Sender: header (Sender:) is
mandatory and must show the address of the agent responsible for
actual transmission. When a single author is in the
From: header, and when the author and transmitter
differ, the Sender: header must show the address
of the actual transmitter. When author and transmitter are the same,
the Sender: header can be omitted.
A From: header must be declared in the
configuration file, and its field is composed of the
$x ($x) and
$g ($g) macros. For
H?F?From: $?x$x <$g>$|$g$.
$g contains the official return address of the
sender. $x contains the full name for the sender.
$x can be undefined for some addresses, so it
should be wrapped in the $? and
$. conditional operators (Section 21.6).
The From: header must be prefixed by the
?F? flag because all the traditional delivery
agents use the F=F flag (F=F) to force inclusion of that header. Use of the
?F? flag allows new delivery agents to be written
that don't require the From:
The resent- form of the From:
header must also be declared in the configuration file:
H?F?Resent-From: $?x$x <$g>$|$g$.
This ensures that every mail message has a sender, even if the mail
message has been resent.
Note that sendmail does not add the
From: header or its resent-
form if a From: header already exists in the
header portion of the mail message. A possible exception occurs if
the envelope sender is identical to the address in the
From: header. In that instance, the
From: header is discarded and a new one is created