La première chose à faire est de configurer l'utilitaire syslogd, qui est le dispositif central d'affichage et de journalisation des messages d'erreur. Le programme sendmail, comme tout programme bien conçu, utilise syslogd et est capable de sortir un grand nombre d'informations par ce biais.
La première étape est de configurer correctement le fichier /etc/syslog.conf2.4. Il faut en particulier vérifier que les lignes :
mail.debug /usr/adm/mail.log mail.err /usr/adm/mail.err
(ou équivalentes) sont présentes. Les deux fichiers spécifiés doivent exister au préalable, et syslogd doit être arrêté et redémarré lorsque ce fichier est modifié. Les versions récentes de syslogd relisent ce fichier lorsqu'on leur envoie le signal SIGHUP, ce qui évite d'avoir à l'arrêter et le redémarer.
Le fichier mail.log contient des lignes comme :
Oct 18 09:30:51 soleil sendmail[13749]: RAA13749: from=pda, size=56, class=0, pri=30056, nrcpts=1, msgid=<199406131525.RAA13749@soleil.uvsq.fr>, relay=pda@localhost Oct 18 09:30:55 soleil sendmail[13749]: RAA13749: to=pda@jussieu.fr, ctladdr=pda (10001/10000), delay=00:00:08, mailer=smtp, relay=shiva.jussieu.fr. [134.157.0.129], stat=Sent (RAA13994 Message accepted for delivery)
Dans cet exemple (issu de l'exemple d'expédition directe de la section 2.7.4 en page ), sendmaila généré deux lignes (découpées ici pour la lisibilité). La première décrit le message tel qu'il a été reçu, la deuxième tel qu'il a été envoyé.
Le fichier mail.err, quant à lui, contient des informations qu'il est bon d'investiguer. Il peut contenir également des informations utiles au niveau sécurité (détection d'un cracker potentiel).
Une bonne pratique consiste à utiliser tail -f /usr/adm/mail.log
dans une fenêtre, pour afficher les informations au fur et à mesure que
les messages transitent.