The S Configuration Command

The S configuration command declares the start of a rule set. It is perhaps the simplest of all configuration commands and looks like this:


The S, like all configuration commands, must begin the line. The ident identifies the rule set. There can be whitespace between the S and the ident. If the ident is missing, sendmail prints the following error message and skips that particular rule-set declaration:

configfile: line num: invalid ruleset name: ""

Prior to V8.7 sendmail the ident could only be numeric. Beginning with V8.7 sendmail the ident can be numeric or alphanumeric. We cover the old form first, then the new.

Rule-Set Numbers

Prior to V8.7 sendmail, rule sets could be identified only by numbers. When a rule set is declared with an integer, that integer is taken to be the numeric identity of the rule set:


Here, # is an integer such as 23. If the # is greater than 100[1] (the maximum number of numbered rule sets allowed), or is negative, sendmail prints and logs the following error:

configfile: line number: bad ruleset # ( maximum  max)

and each rule following that bad rule-set declaration will produce the following error:

configfile: line number:  missing valid ruleset for "Rrule shown here" 

Rule-Set Names

Beginning with V8.7 sendmail, rule sets can be declared with numbers (as in the previous section) or with more meaningful names. The form for a rule-set name declaration looks like this:


The name can contain only ASCII alphanumeric characters ...

Get Sendmail, 3rd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.