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.