sendmail, 4th Edition

$~

Match any single token not in a specified class LHS operator

When trying to match tokens in the workspace to members of a class, it is possible to invert the logic of a match. The $~ operator instructs sendmail to consider any single token that is not in the class to be a match. For example, consider the following rule:

 R $+ < @ $* . $~{PseudoDomains} >      $# relay $@ mailhub $:  <@ .> 

Here, the workspace is expected to hold a focused address (such as gw@<faxhost.fax> ). The $~{PseudoDomains} expression causes sendmail to look up the top-level domain (suffix) part of the address (the fax ) in the class {PseudoDomains} . If that suffix is absent from that class, a match is made and the workspace is rewritten by the RHS to relay the mail to the mailhub machine.

If the suffix ( fax ) is found in the {PseudoDomains} class, the LHS does not match, and subsequent rules will handle the address, perhaps to forward the message to a special fax-handling host.

Class macros in general are described in Chapter 22, and the $~ operator in particular is described in full in Section 22.2.2. Note that the $~ operator can be used only on the LHS of rules, and can be referenced by an RHS $ digit operator.



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