Sendmail Operation Guide

Testing configuration files

When you build a configuration table, you can do a certain amount of testing using the test mode of sendmail(1M). For example, you could invoke sendmail as:

sendmail -bt -Ctest.cf

This would read the configuration file test.cf and enter test mode. In this mode, you enter lines of the form:

rwset address

rwset is the rewriting set you want to use and address is an address to apply the set to. Test mode shows you the steps it takes as it proceeds, finally showing you the address it ends up with. You may use a comma separated list of rwsets for sequential application of rules to an input. For example:

3,1,21,4 monet:bollard

This first applies ruleset three to the input monet:bollard. Ruleset one is then applied to the output of ruleset three, followed similarly by rulesets twenty-one and four.

If you need more detail, you can also use the -d21 flag to turn on more debugging. For example:

sendmail -bt -d21.99

This turns on an incredible amount of information; a single word address is probably going to print out several pages worth of information.

You should be warned that internally, sendmail applies ruleset 3 to all addresses. In test mode you will have to do that manually. For example, older versions allowed you to use

0 bruce@broadcast.sony.com

This version requires that you use:

3,0 bruce@broadcast.sony.com

As of version 8.7, some other syntaxes are available in test mode:


.D x value
Defines macro x to have the indicated value. This is useful when debugging rules that use the $&x syntax.

.C c value
Adds the indicated value to class c.

.S ruleset
Dumps the contents of the indicated ruleset.

-d debug-spec
Equivalent to the command-line flag.

© 2000 The Santa Cruz Operation, Inc. All rights reserved.