Rule Sets and Lists of Rules

All rules (R lines) that follow a rule set declaration are added to and become part of that rule set:

S0
R...          ← rules added to rule set 0
SMyset
R...          ← rules added to rule set Myset
S1
R...          ← rules added to rule set 1

Rule sets need not be declared in any particular order. Any order that clarifies the intention of the configuration file as a whole is acceptable. If a rule set appears more than once in a configuration file, V8 sendmail will print a warning:

WARNING: Ruleset name redefined                 ← prior to V8.8
WARNING: Ruleset name has multiple definitions  ← V8.8 and above

and append the new rules to the old:

S0
R...          ← rules added to rule set 0
S2
R...          ← rules added to rule set 2
S0            ← warning issued
R...          ← rules appended to earlier rule set 0

Note that the warning is given in all cases prior to V8.8, but beginning with V8.8, it is issued only in -bt rule-testing mode (Overview on page 299) or if the -d37.1 debugging switch (-d37.1 on page 563) is set.

Other configuration commands can be interspersed among rule definitions without affecting the rule set to which the rules are added:

S0
R...          ← rules added to rule set 0
DUuucphost.our.domain
R...          ← rules added to rule set 0

Prior to V8.10, any rules that appeared before the first S command were added to rule set 0 by default. With V8.10 and above, sendmail rejects any rules that are not preceded with a valid rule set definition.

Get sendmail, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.