The
$x macro holds the full name of the sender. When
sendmail processes a mail message for delivery,
it rewrites the sender's address using the
canonify rule set 3 and the
parse rule set 0 so that it can determine whether
the sender is local. If the sender is local, the
parse rule set 0 provides the
sender's login name with the $:
operator. Then, if the delivery agent's
F=w flag (F=w) is
set, the login
name is looked up using the method defined by the
MailboxDatabase option (MailboxDatabase).
If the login name is known, the sender's full name
is returned. If necessary, that full name is then processed, throwing
away phone numbers and the like and converting the
& character. The result, usually fairly close
to the sender's actual full name, is the value
assigned to the $x macro.
Under certain circumstances, sendmail places a
different value in $x:
When sendmail first starts to run, it sets the
full name to be the value of the NAME environment variable, and
places that value into $x.
The -F command-line switch (-F) can overwrite the value in the
$x macro.
If the operating mode is -q (Section 11.8.1) or -bd (-bd), the value in $x is reset
to NULL.
In processing the headers of a message, if
sendmail finds a Full-Name:
header (Full-Name:), it assigns the text of that
header to the $x macro.
In sending a failed mail message, the login name of the sender is
taken from $n, and the full name is set to be:
Mail Delivery Subsystem
The $x macro is intended for use in various header
definitions. $x is transient. If it is defined in
the configuration file or the command line, that definition will be
ignored by sendmail. Note that a
$& prefix is necessary when you reference this
macro in rules (that is, use $&x, not
$x).