For more complex configurations, you can define special rules.
The macro LOCAL_RULE_3 introduces rules that are used in canonicalizing
the names. Any modifications made here are reflected in the header.
A common use is to convert old UUCP addresses to SMTP addresses using
the UUCPSMTP macro. For example:
will cause addresses of the form "decvax!user" and "research!user"
to be converted to "email@example.com" and "firstname.lastname@example.org"
This could also be used to look up hosts in a database map:
R$* < @ $+ > $* $: $1 < @ $(hostmap $2 $) > $3
This map would be defined in the LOCAL_CONFIG portion, as shown below.
Similarly, LOCAL_RULE_0 can be used to introduce new parsing rules.
For example, new rules are needed to parse hostnames that you accept
via MX records. For example, you might have:
R$+ <@ host.dom.ain.> $#uucp $@ cnmat $: $1 < @ host.dom.ain.>
You would use this if you had installed an MX record for cnmat.Berkeley.EDU
pointing at this host; this rule catches the message and forwards it on
You can also tweak rulesets 1 and 2 using LOCAL_RULE_1
These rulesets are normally empty.
A similar macro is LOCAL_CONFIG. This introduces lines added after the
boilerplate option setting but before rulesets.
Do not declare rulesets in
the LOCAL_CONFIG section. It can be used to declare local database maps or
Khostmap hash /etc/mail/hostmap
Kyplocal nis -m hosts.byname