next up previous contents
suivant: Tester le mailer SMTP monter: Tester notre serveur de précédent: Utiliser le mode test   Table des matières

Utiliser le mode debug de sendmail

Enfin, on peut utiliser les modes debug de sendmail pour avoir des messages plus élaborés. Le premier mode qui nous intéresse permet de suivre l'envoi d'un courrier avec l'option -d21.2 :

$ /usr/lib/sendmail -d21.2 mdecore
rewrite: ruleset canonify           input: root
rewrite: ruleset Canonify2          input: root
rewrite: ruleset Canonify2        returns: root
rewrite: ruleset canonify         returns: root
rewrite: ruleset parse              input: root
rewrite: ruleset Parse0             input: root
rewrite: ruleset Parse0           returns: root
rewrite: ruleset ParseLocal         input: root
rewrite: ruleset ParseLocal       returns: root
rewrite: ruleset Parse1             input: root
rewrite: ruleset Parse1           returns: $# local $: root
rewrite: ruleset parse            returns: $# local $: root
rewrite: ruleset final              input: root
rewrite: ruleset final            returns: root
rewrite: ruleset canonify           input: root
rewrite: ruleset Canonify2          input: root
rewrite: ruleset Canonify2        returns: root
rewrite: ruleset canonify         returns: root
rewrite: ruleset 1                  input: root
rewrite: ruleset 1                returns: root
rewrite: ruleset final              input: root
rewrite: ruleset final            returns: root
rewrite: ruleset canonify           input: mdecore
rewrite: ruleset Canonify2          input: mdecore
rewrite: ruleset Canonify2        returns: mdecore
rewrite: ruleset canonify         returns: mdecore
rewrite: ruleset parse              input: mdecore
rewrite: ruleset Parse0             input: mdecore
rewrite: ruleset Parse0           returns: mdecore
rewrite: ruleset ParseLocal         input: mdecore
rewrite: ruleset ParseLocal       returns: mdecore
rewrite: ruleset Parse1             input: mdecore
rewrite: ruleset Parse1           returns: $# local $: mdecore
rewrite: ruleset parse            returns: $# local $: mdecore
rewrite: ruleset 2                  input: mdecore
rewrite: ruleset 2                returns: mdecore
rewrite: ruleset EnvToL             input: mdecore
rewrite: ruleset EnvToL           returns: mdecore
rewrite: ruleset final              input: mdecore
rewrite: ruleset final            returns: mdecore
rewrite: ruleset localaddr          input: mdecore
rewrite: ruleset Local_localaddr    input: mdecore
rewrite: ruleset Local_localaddr  returns: mdecore
rewrite: RHS $&h => ""
rewrite: ruleset localaddr        returns: mdecore
$

On voit la sélection de l'agent de transport, la réécriture de l'adresse de l'expéditeur (root) et du destinataire (mdecore).

On peut aussi utiliser l'option -d21.15 pour voir en détails la façon dont l'algorithme réécrites les adresses :

$ /usr/lib/sendmail -d21.15 mdecore
rewrite: ruleset canonify           input: root
-----trying rule (line 507): $@
----- rule fails
-----trying rule (line 510): $*
-----rule matches: $: $1 < @ >
$1: bfffd8ec="root"
rewritten as: root < @ >
-----trying rule (line 511): $* < $* > $* < @ >
----- rule fails
-----trying rule (line 512): @ $* < @ >
----- rule fails
-----trying rule (line 513): $* : : $* < @ >
----- rule fails
-----trying rule (line 514): : include : $* < @ >
----- rule fails
-----trying rule (line 515): $* [ IPv6 $- ] < @ >
----- rule fails
-----trying rule (line 516): $* : $* [ $* ]
----- rule fails
-----trying rule (line 517): $* : $* < @ >
----- rule fails
-----trying rule (line 518): $* < @ >
-----rule matches: $: $1
$1: bfffd8ec="root"
rewritten as: root
-----trying rule (line 519): $* ;
----- rule fails
-----trying rule (line 520): $* < $* ; >
----- rule fails
-----trying rule (line 523): $@
----- rule fails
-----trying rule (line 526): $*
-----rule matches: $: < $1 >
$1: bfffd8ec="root"
rewritten as: < root >
-----trying rule (line 527): $+ < $* >
----- rule fails
-----trying rule (line 528): < $* > $+
----- rule fails
-----trying rule (line 529): < >
----- rule fails
-----trying rule (line 530): < $+ >
-----rule matches: $: $1
$1: bfffd8ec="root"

...

rewritten as: root
rewrite: ruleset canonify         returns: root
rewrite: ruleset 1                  input: root
rewrite: ruleset 1                returns: root
rewrite: ruleset final              input: root
-----trying rule (line 613): $* < @ >
----- rule fails
-----trying rule (line 616): $* < @ $+ . > $*
----- rule fails
-----trying rule (line 619): $* < @ *LOCAL* > $*
----- rule fails
-----trying rule (line 622): $* < $+ > $*
----- rule fails
-----trying rule (line 623): @ $+ : @ $+ : $+
----- rule fails
-----trying rule (line 624): @ $*
----- rule fails
-----trying rule (line 627): $+ @ $- . UUCP
----- rule fails
-----trying rule (line 630): $+ % $=w @ $=w
----- rule fails
rewrite: ruleset final            returns: root
rewrite: ruleset canonify           input: mdecore
-----trying rule (line 507): $@
----- rule fails
-----trying rule (line 510): $*
-----rule matches: $: $1 < @ >
$1: bfffdfec="mdecore"
rewritten as: mdecore < @ >
-----trying rule (line 511): $* < $* > $* < @ >
----- rule fails
-----trying rule (line 512): @ $* < @ >
----- rule fails
-----trying rule (line 513): $* : : $* < @ >
----- rule fails
-----trying rule (line 514): : include : $* < @ >
----- rule fails
-----trying rule (line 515): $* [ IPv6 $- ] < @ >
----- rule fails
-----trying rule (line 516): $* : $* [ $* ]
----- rule fails
-----trying rule (line 517): $* : $* < @ >
----- rule fails
-----trying rule (line 518): $* < @ >
-----rule matches: $: $1
$1: bfffdfec="mdecore"

...

rewritten as: < > mdecore
-----trying rule (line 744): < > $+
-----rule matches: $: < > < $1 < > $&h >
$1: bfffdd9c="mdecore"
rewrite: RHS $&h => ""
rewritten as: < > < mdecore < > >
-----trying rule (line 745): < > < $+ < > + $* >
----- rule fails
-----trying rule (line 746): < > < $+ < > $* >
-----rule matches: $: < > < $1 >
$1: bfffdd9c="mdecore"
rewritten as: < > < mdecore >
-----trying rule (line 747): < > < $+ + $* > $*
----- rule fails
-----trying rule (line 748): < > < $+ > + $*
----- rule fails
-----trying rule (line 749): < > < $+ >
-----rule matches: $@ $1
$1: bfffdd9c="mdecore"
rewritten as: mdecore
rewrite: ruleset localaddr        returns: mdecore
$



Mathieu DECORE <mdecore@linux-france.org>