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 |