When a message is first accepted,
sendmail usually queues it first, then tries to
deliver it. The qf file contains all the envelope
information about a message, including information specific to the
sendmail delivery process, and several macros
whose values are important to preserve between queue runs. This
{persistentMacros} class holds the names of those
important macros.
When V8.10 sendmail starts to run, it adds to
the {persistentMacros} class a list of five macro
names:
The $r macro ($r) holds
the protocol used to receive a message when it was first accepted.
The $s macro ($s) holds
the hostname of the sender's machine.
The $_ macro ($_) holds
the validated hostname and address, RFC1413-validation (if
available), and IP source route information associated with the
incoming SMTP connection.
The ${if_addr} macro (${if_addr}) holds the IP address of the interface on
which the message was received.
The ${daemon_flags} macro (${daemon_flags}) holds the flags specified by the
DaemonPortOptions option (DaemonPortOptions).
To add macro names to this class, omit the leading dollar symbol. For
example, you might add the macro ${MyMacro} like
this:
LOCAL_CONFIG
C{persistentMacros} {MyMacro}
However, you are strongly advised not to add any
macros to this class. Should you feel the need to do so, take enough
time to fully examine how that macro is used in rule sets, and how it
can be used internally by sendmail. Then
cautiously test and observe to be certain nothing broke when you
added it.