Prev | Current Page 1182 | Next

Bryan Costales, Claus Assmann, George Jansen, Gregory Shapiro

"sendmail, 4th Edition"


This is the Title of the Book, eMatter Edition
Copyright ?© 2007 O??™Reilly & Associates, Inc. All rights reserved.
18.9 Rule Operator Reference | 679
18.9.16 $-
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 (suchas george or taka).* 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.
R $- < @ $=w . > $: $(dequote $1 $) < @ $2 . >
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 (?§23.7.5 on page 904). 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 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

> 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

> 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.


Pages:
1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194
życzenia ślubne gustowne meble katowice felgi aluminiowe poznań katalog firm katalog stron