-m ?§23.3.7 on page 888 Suppress replacement on match.
-q ?§23.3.11 on page 889 Don??™t strip quotes from key.
Table 23-28. The text database-map type K command switches (continued)
Switch ?§ Description
This is the Title of the Book, eMatter Edition
Copyright ?© 2007 O??™Reilly & Associates, Inc. All rights reserved.
23.7 Alphabetized Database-Map Types | 943
One use for this database-map type might be to intercept each RCPT To: address, and log
whether it will be transformed by the User Database:
Kudb userdb -f -a.FOUND maildrop
Klog syslog
SLocal_check_rcpt
R $* $: $>canonify $1
R $+ < @ $* > $* $: $1<@$2>$3 $| $(udb $1 $)
R $* $| $* . FOUND $: $(log $1 transformed by userdb into $2 $) $1
Here, we declare a userdb database-map type called udb. Th e-f says to look up addresses
in a case-insensitive manner. The -a says to append a literal .FOUND to any match. Finally,
the maildrop says to look up a recipient address with a :maildrop suffix attached.
We also declare a syslog database-map type (?§23.7.25 on page 939) named log, which we
will use to syslog the result.
The rule set in Local_check_rcpt (?§7.1.3 on page 257) contains three rules, and they are
called just after each RCPT To: command. In the first rule, we make sure the address is
focused. In the second rule, we first arrange to return the original address in the workspace
(the $1<@$2>$3 in the RHS) and a $| separator.
Pages:
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667