R<@> $#local $: <@>
Recall from Section 22.214.171.124, "Handle null address" that the null address needs to be disposed of locally.
Next a whole series of error conditions need to be detected before they can lead to harm:
R$* : $* ; <@> $#error [email protected] 5.1.3 $: "list:; syntax illegal for recipient addresses" R<@ $+> $#error [email protected] 5.1.1 $: "user address required" R$* <$* : $* > $* $#error [email protected] 5.1.1 $: "colon illegal in host name part" R$* < @ . > $* $#error [email protected] 5.1.2 $: "invalid host name"
First, addresses are checked to see whether they are of the
(see Section 126.96.36.199, "A rule to handle List:;") and, if so, are considered errors. Then the
focused address is screened for missing user parts, colons in the host
name, and unresolvable hostnames. Any such addresses are rejected
The rest of rule set 0 selects delivery agents. It can be simple or complex depending on your specific needs. In its simplest form, it detects local addresses and network mail:
R$+ < @ $=w . > $#local $: $1 regular local name R$* < @ $* > $* $#smtp [email protected] $2 $: $1 < @ $2 > $3 [email protected]
Rule set 0 can also do mailertable lookups (see Section 19.6.14) and forward to a hub:
R< $+ > $* $: < $(mailertable $1 $) > $2 lookup R$* < @ $* > $* $: $>95 < $S > $1 < @ $2 > $3 glue on smarthost name
Note that these rules would not be grouped right next to each other. We presented them like this just to give you the flavor of a rule set 0, without the details. Leap ahead to Section 29.6, "Rule Set 0" if you hunger for more.