Add Debugging for Detail
In rule-testing mode, the -d
command (The Syntax of -d on page 530) can be
used to turn debugging output on and off. Prior to V8.7
sendmail, the -d
could be specified only
on the command line. Beginning with V8.7
sendmail, the -d
can also be specified
in rule-testing mode. We illustrate the latter technique
here.
Debugging output can reveal in great detail how individual
rules are being handled. A debugging category and level of
21.12
(-d21.1 on page 554), for example, causes
sendmail to print the LHS of
each rule as it is tried. To illustrate, consider the
following (highly simplified) configuration-file rule
set:
V10 STest R @ $#local $:$n handle <> form R $* < @ $+ > $* $#$M $@$R $:$1<@$2>$3 user@some.where R $+ $#local $:$1 local names
Normal output that is produced when a rule set name and an address are entered at the > prompt looks like this:
> Test george
Test input: george
Test returns: $# local $: george
But if we turn on debugging using the -d
rule-testing command:
> -d21.12
the output that is produced when the same rule set number and address are entered is more verbose than it was before:
> Test george
Test input: george
-----trying rule: @
----- rule fails
-----trying rule: $* < @ $+ > $*
----- rule fails
-----trying rule: $+
-----rule matches: $# local $: $1
rewritten as: $# local $: george
Test returns: $# local $: george
Observe that the first rule in the Test
rule set (the lone @
) does not match george
in the workspace.
Therefore, that rule fails ...
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.