The name
part of the H
configuration command can be prefixed
with a list of flags. This list, if present,
must be surrounded by ?
characters:
H?flags
?name
:field
The ?
characters must immediately
follow the H
and immediately precede
the name
with no intervening spaces. If a space
precedes the first ?
, that ?
is
misinterpreted as part of the header name
, rather
than as the start of a list of flags, and this error message is printed:
header syntax error, line " ?flags?name: field" note leading space
If the first ?
is present but the second is absent, sendmail prints
the same error message and skips that H
configuration
command.
The flags that are listed between the ?
characters correspond
to flags that are listed with delivery agent F=
equates. When
processing a mail message for forwarding or delivery, sendmail
adds a header line if a flag is common to both the H
definition
list of flags and the delivery agent's list of flags. For example,
H?P?Return-Path: <$g>
The above H
definition begins with a P
flag. This
tells sendmail to add this header line to the mail message
only if a selected delivery agent also contains that flag. Since
the Return-Path:
header (see Section 35.10.28, Return-Path:)
should be added only during
final delivery, the P
flag appears only in the prog
and local
delivery agent definitions:
Mprog, P=/bin/sh, F=lsDFMeuP
, S=10, R=20, A=sh -c $u Mlocal, P=/bin/mail, F=rlsDFMmnP
, S=10, R=20, A=mail -d $u note
No check is made to ensure that the H
flags correspond to existing
delivery agent flags. Beware that if a corresponding F=
flag does not
exist in some delivery agent definition,
that header may never be added to any mail message.
Care should be used to avoid selecting flags that have other meanings for delivery agents. Table 30.8 in Section 30.8, "Alphabetized F= Flags" lists all the delivery agent flags that have predefined meanings, including those traditionally used with header definitions.