sendmail, 4th Edition

$

Match or return a literal $ LHS and RHS operator

It is sometimes necessary to communicate information between one rule and another. The preferred way of doing this is to use the special $ operator, which can be used in both the LHS or RHS of rules. To illustrate , consider the following two rules:

 R $-               $:  $ $(badusers  $) R $- $ BAD        $# discard $: discard 

Here, the first rule's LHS checks to see if there is a single token in the workspace (as would be the case if it contained a username). If that is the case, the RHS returns the original workspace (with the $1 ) and a separator (the $ ). Lastly, the RHS looks up the username in a hypothetical baduser database, and if the user is found, the result of the lookup (either a literal GOOD or BAD, for example) is appended to the workspace.

The second rule looks for a workspace that now contains the original username (the $- ), followed by a literal separator (the $ ) and the literal word BAD. If BAD is found, that user's email is discarded with the discard delivery agent.

One actual example of using $ can be found in Section 7.1.1. That section also describes a trick for using $ in rule-testing mode. Note that the $ operator can be used in either the LHS or RHS of a rule.



Sendmail
sendmail, 4th Edition
ISBN: 0596510292
EAN: 2147483647
Year: 2002
Pages: 1174

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net