The Sequence of Rule Sets
When sendmail rewrites addresses, it applies its rule sets in a specific sequence. The sequence differs for sender and recipient addresses, with a third branch used to select delivery agents. Figure 19-1 shows a map of the different paths taken by each kind of address. Those paths show how addresses flow through rule sets.
Both sender and recipient addresses are first input into the
canonify rule set 3. Then each takes a different
path through the rule sets based on its type. Recipient addresses
take the dashed path, whereas sender addresses take the solid path.
But before those paths can be taken, sendmail
needs to select a delivery agent (the dotted path) to get rule-set
numbers for the R= and S= of
each path.
![]() |
To select a delivery agent, sendmail rewrites
the recipient address with the canonify and
parse rule sets (the dotted path). The
parse rule set 0 selects a delivery agent that is
appropriate for the recipient. That delivery agent supplies rule-set
values for the S= and R= in the
corresponding sender (solid) and recipient (dashed) paths.
After a delivery agent has been selected, the sender address is
processed (see Figure 19-2). As was mentioned
earlier, it is first input into the canonify rule
set 3. Then it flows through rule set 1 (if that rule set is
declared), then the S= rule set as determined by ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access
