PostfixDebug

De Cliss XXI
Sauter à la navigation Sauter à la recherche

Le but ici est de monter un serveur SMTP postfix de manière à voir tout les courriels sortant sans que ceux ci soient rééellement émis à l'exterieur. Ce type de configuration peut faire partie d'un environnement de développement permettant de tester l'envoi de courrier electronique


Pré requis

  • paquets:
* postfix (choisir la configuration "local uniquement")
* mutt (pour lire directement les courriels en mode console)
  • créer un utilisateur "postfix-trace"

Configuration postfix

  • /etc/postfix/main.cf

ajouter les lignes suivantes:

transport_maps = hash:/etc/postfix/transport
always_bcc = postfix-trace
  • /etc/postfix/transport
postfix-trace@<HOSTNAME> local
* discard
  • <HOSTNAME> represente ici le nom de la machine
  • ne pas oublier de faire un postmap du fichier transport

utilisation et test

Les courriels emis, que ce soit en local (via le demon "pickup") ou par le reseau (via le demon "smtpd"), tout les courriels sont d'abord envoyee en copie a "postfix-trace" (/var/mail/postfix-trace) puis passé au démon "discard" qui inscrit une ligne dans les logs et détruit le courriel.

  • verifier les logs:
tail -f /var/log/mail.log
  • verifier les courriels emis:
mutt -f /var/mail/postfix-trace
  • test via courriels locaux "pickup"
echo "ceci est un mail de test" | mail -s "sujet du mail" toto@nowhere.lan
  • test via connexion SMTP "smtpd"
telnet localhost 25
HELO expediteur.dom
MAIL FROM: <toto@expediteur.dom>
RCPT TO: <toto@nowhere.lan>
DATA
Subject: ceci est un sujet

ceci est le corps du mail
.
QUIT