home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Previous Section Next Section

OperatorChars

Set token separation operators V8.7 and later

The OperatorChars option stores as its value a sequence of characters, any one of which can be used to separate the components of an address into tokens (Section 18.3). Prior to V8.7 the $o macro fulfilled this role. Beginning with V8.7, the OperatorChars option has taken over:

O OperatorChars=.:%@!^=/[  ]         beginning with V8.7
Do.:%@!^=/[  ]                       prior to V8.7

The list of separation operators declared with this option is joined by sendmail to an internal list of hardcoded separation operators:

( )<>,;\r\n

The combined list is used in tokenizing the workspace for rule-set processing. The order in which the characters appear in the OperatorChars option declaration is arbitrary. The space and tab characters need not be included in that list because they are always used to separate tokens.

Care should be taken in eliminating any given character from this list. Before doing so, the entire configuration file should be examined in detail to be sure that no rule requires that character. The use of the individual characters in addresses is beyond the scope of this book. The book !%@:: A Directory of Electronic Mail Addressing and Networks, by Donnalyn Frey and Rick Adams (O'Reilly & Associates, 1993), contains the many forms of addressing in great detail.

The OperatorChars option is used like this:

O OperatorChars=text            configuration file (V8.7 and later) 
-OOperatorChars=text            command line (V8.7 and later) 
define(`confOPERATORS',`text')  mc configuration (V8.7 and later) 
Dotext                          prior to V8.7 

The text is of type string. If it is missing and if the configuration file version is less than 7, sendmail tries to use the value of the $o macro. If that macro is also undefined, a default of .:@[ ] is used. If text is longer than 39 characters, it is truncated to 39 characters. In using the mc technique, a default of .:%@!^/[ ]+ is used.

Note that this option must be defined before any rule sets are declared. If you mistakenly declare a rule set first, you will see the following warning:

Warning: OperatorChars is being redefined.
  It should only be set before ruleset definitions.

The OperatorChars option is not safe. If specified from the command line, it can cause sendmail to relinquish its special privileges.

    Previous Section Next Section