sendmailSearch this book
Previous: 35.3 Header Field ContentsChapter 35
Next: 35.5 Header Behavior in conf.c

35.4 ?flags? in Header Definitions

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:


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

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.

Previous: 35.3 Header Field ContentssendmailNext: 35.5 Header Behavior in conf.c
35.3 Header Field ContentsBook Index35.5 Header Behavior in conf.c