-

$-

Match exactly one token LHS operator

The user part of an address is the part to the left of the @ in an address. It is usually a single token (such as george or taka ). [14] The easiest way to match the user part of an address is with the $- operator. For example, the following rule looks for any username at our local domain, and dequotes it.

[14] At your site you might have customized sendmail to allow dotted usernames (such as first.lastname ), which are composed of three tokens. We ignore such usernames for this discussion.

 R $- < @ $=w . >         $: $(dequote  $) < @  . > 

Here, the intention is to take any quoted username (such as "george" or "george+nospam") and to change the address using the dequote database-map type (dequote). The effect of this rule on a quoted user workspace, then, might look like this:

 "george"@wash.dc.gov  becomes   george@wash.dc.gov "george+nospam"@wash.dc.gov  becomes   george+nospam@wash.dc.gov 

Because the quotation character is not a token, "george+nospam" is seen as a single token and is matched with the $- operator.

The -bt rule-testing mode offers an easy way to determine if a character splits the user part of an address into more than one token:

 %  echo '0 george+nospam'  /usr/sbin/sendmail -bt  head -3  ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > parse              input: george + nospam   3 tokens  %  echo '0 "george+nospam"'  /usr/sbin/sendmail -bt  head -3  ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > parse              input: "george+nospam"   1 token  

Note that the $- operator can be used only on the LHS of rules, and that the $- operator can be referenced by a $ digit operator on the RHS



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