When building a configuration file using the m4 technique (see Section 19.1, "The m4 Preprocessor" ), sendmail reserves certain rule-set numbers for its own use. Using the m4 technique, you can add rules to those rule sets, but you cannot replace those rule sets with your own. A few m4 keywords are available to make adding rules easier. They affect rule sets 0 through 3 directly and other rule sets indirectly (see Table 19.5 in Section 19.4.3, "Rules and rule sets" ).
The configuration file created with the m4 technique uses quite a few rule sets beyond the base group of 0 through 5. Table 29.1 shows all the rule sets used by the bare bones m4 technique. They are listed numerically, which also just happens to group them by function. The table also includes the name of the file containing the rules for each rule set.
Set | File | Description |
---|---|---|
S0
|
m4/proto.m4 | Select a delivery agent |
S1
|
m4/cfhead.m4 | Process all sender addresses |
S2
|
m4/cfhead.m4 | Process all recipient addresses |
S3
|
m4/proto.m4 | Preprocess all addresses |
S4
|
m4/proto.m4 | Postprocess all addresses |
S5
|
m4/proto.m4 | Post alias select a delivery agent |
S10
|
mailer/local.m4 |
Handle
S=
for
local
delivery agent |
S11
|
mailer/smtp.m4 |
Handle
S=
for
smtp
delivery agents |
S12
|
mailer/uucp.m4 |
Handle
S=
for
uucp
delivery agents |
S15
|
mailer/mail11.m4 |
Handle
S=
for
mail11
delivery agent |
S20
|
mailer/local.m4 |
Handle envelope
R=
for
local
delivery agent |
S21
|
mailer/smtp.m4 |
Handle envelope
R=
for
smtp
delivery agents |
S22
|
mailer/uucp.m4 |
Handle envelope
R=
for
uucp
delivery agents |
S25
|
mailer/mail11.m4 |
Handle envelope
R=
for
mail11
delivery agent |
S30
|
mailer/local.m4 |
Handle <@> and masquerading for
local
delivery agent |
S31
|
mailer/smtp.m4 |
Handle ALL_MASQUERADE envelope
R=
for
smtp
|
S40
|
mailer/local.m4 |
Handle header
R=
for
local
delivery agent |
S42
|
mailer/uucp.m4 |
Handle header
R=
for
uucp
delivery agents |
S50
|
mailer/local.m4 | Rules to add local domain (if ALWAYS_ADD_DOMAIN) |
S51
|
mailer/smtp.m4 | Convert pseudo-domains to real domains |
S52
|
mailer/uucp.m4 |
Handle envelope
S=
for
uucp-dom
delivery agent |
S61
|
mailer/smtp.m4 |
Handle ALL_MASQUERADE envelope
R=
for
relay
agent |
S71
|
mailer/smtp.m4 |
Handle envelope header
R=
for
relay
agent |
S72
|
mailer/uucp.m4 |
Handle envelope
S=
for
uucp-uudom
delivery agent |
S90
|
m4/proto.m4 | Try domain part of mailertable entry |
S93
|
m4/proto.m4 | Convert header names to masqueraded form |
S94
|
m4/proto.m4 | Convert envelope names to masqueraded form |
S95
|
m4/proto.m4 | Canonify mailer:[user@]host syntax to triple |
S96
|
m4/proto.m4 | Handle common rule set 3 needs |
S98
|
m4/proto.m4 | Handle local part of rule set 0 |