Consider the following example. Two classes have been declared elsewhere in the
configuration file. The first, $=w, contains all the possible names for the local host:
Cw localhost mailhost server1 server2
The second, $=D, contains the domain names of the two different networks on which
this host sits:
CD internal.domain external.domain
If the object of a rule is to match any variation on the local hostname at either of the
domains and to rewrite the result as the official hostname at the appropriate domain,
the following rule can be used:
R $=w . $=D $@ $w . $2 make any variations "official"
* With V8 and later, words in a class can be multitokened.
This is the Title of the Book, eMatter Edition
Copyright ?© 2007 O??™Reilly & Associates, Inc. All rights reserved.
864 | Chapter 22: The C and F (Class Macro) Configuration Commands
If the workspace contains the tokenized address server1.external.domain, sendmail
first checks to see whether the word server1 has been defined as part of the class w. If
it has, the dots in the rule and workspace match each other, and then sendmail looks
up external.domain.
If both the host part and the domain part are found to be members of their respective
classes, the RHS of the rule is called to rewrite the workspace. The $2 in the
workspace corresponds to the $=D in the LHS. The $=D matches the external.
Pages:
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524