Réglage de problèmes
Contents
1 Introduction
Postfix c'est bien, ca tien super bien la charge, mais quand il faut débugger pourquoi il y a des problèmes de mails, c'est déjà moins simple. C'est pourquoi, je vais noter ici toutes les astuces que j'ai trouvé.
2 Les solutions
2.1 Vérifier la configuration
Dans Postfix, il n'est pas toujours évident de trouver le problème, c'est pourquoi ils ont été sympas d'intégrer une commande qui va lancer des checks :
postfix |
postfix check |
2.2 Engorgement du spool des mails
Si vous vous retrouver dans le cas ou vous avez un problème d'engorgement de mails (ex: 30000 mails dans la queue), vous pouvez savoir combien il y en a avec la commande suivante :
mailq |
mailq |
Mais si il faut les effacer un à un, c'est un peu galère. C'est pourquoi bibi a concocté un petit script pour supprimer la queue entière :
Ce script vous permet de choisis un utilisateur et de supprimer tous les mails ou il fait parti.
2.3 pflogsumm
pflogsumm permet d'obtenir des infos par rapport aux mails, tout un tas de statistiques comme qui recois beaucoup de mails, qui en envoie beaucoup etc.... Pour obtenir les logs e la journée :
pflogsumm |
pflogsumm -d today /var/log/mail.log |
Obtenir les statistiques de la veille :
pflogsumm |
pflogsumm -d yesterday /var/log/mail.log.0 |
Sut le fichier de log en cours :
pflogsumm |
pflogsumm /var/log/mail.log |
Attention :
pflogsumm |
pflogsumm /var/log/mail.log.0 |
ne donnera pas les statistiques que de la veille.
2.4 qshape
Toujours pour l'analyse de goulets d'étranglements, vous pouvez utiliser la commande qshape :
qshape |
qshape -s hold |
Pour plus d'infos :
http://postfix.traduc.org/index.php/QSHAPE_README.html
2.5 fatal: open database /etc/aliases.db: No such file or directory
Il faut simplement regénérer la base d'alias. La commande "newaliases" suffira. Mais sur Solaris, et visiblement les vieilles versions de Postfix, il faudra arréter et démarrer le service en plus :
svcadm disable svc:/network/smtp/postfix:default ; newaliases ; postalias ; svcadm enable svc:/network/smtp/postfix:default |
2.6 exec failed. errno=2.
Sur Solaris, lorsqu'on essaye d'envoyer avec la commande mail un message et que ça ne fonctionne pas, que l'on a comme erreur ceci :
exec failed. errno=2.
Il suffit de faire un lien symbolique :
ln |
ln -s /opt/csw/sbin/sendmail /usr/lib |