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.

The flow of rules through rule sets
Figure 19-1. The flow of rules through rule sets

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 ...

Get Sendmail, 3rd 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.