General Database Substitutions ($(...))

A substitution of the form $(text) is handled specially. This database is generated with the crdb utility. If text is found in the database the corresponding template from the database is substituted. If text does not match an entry in the database the rewrite process fails; it is as if the rewrite rule never matched in the first place. If the substitution is successful the template extracted from the database is re-scanned for additional substitutions. However, additional $(text) substitutions from the extracted template are prohibited in order to prevent endless recursive references.

As an example, suppose that the address jdoe@acme.decnet matches the following rewrite rule:

 
.DECNET     $($H) 
 

Then, the text string acme will be looked up in the general database and the result of the look up, if any, instead used for the rewrite rule's template. Suppose, that the result of looking up acme is $u%eng.acme.com@tcp-local. Then the output of the template will be jdoe@eng.acme.com (username = jdoe, host/domain specification = eng.acme.com), and the routing system will be tcp-local.

If a general database exists it should be world readable to insure that it operates properly.


Note - This database consists of the files specified with the general database option in the /imta/tailor file, which are usually the files /var/opt/SUNWmail/imta/db/generaldb.*.



Copyright © 1999 Sun Microsystems, Inc. All Rights Reserved.