Configuration d’un serveur SMTP de test

Tester l'envoi de mail peut parfois se révéler pénible et potentiellement dangereux. Une solution consiste à modifier systématiquement l'adresse des destinataires, malheureusement un oubli est vite arrivé. Une autre solution est l'utilisation en test et en pré-production d'une librairie qui n'envoie pas les mails mais il devient alors impossible de vérifier que les mails envoyés son corrects.

Pour sécuriser ces envois, il est possible de configurer un serveur SMTP pour qu'il redirige tous les e-mails vers une boîte locale. Cela permettra de configurer les applications de test ou de pré-production de manière très simple : En changeant simplement l'adresse du serveur SMTP utilisé aucun mail de test ne partira chez un client. Ce système permet aussi d'accéder aux e-mails comme si on en était le destinataire.

Pour cela j'aurai besoin d'installer un serveur postfix et un serveur courier-imap. L'installation se fera sur une machine ubuntu mais la configuration de postfix est évidemment valable sur n'importe quelle distribution linux.

Installation du serveur postfix

pour installer le serveur postfix j'utilise la commande suivante

sudo aptitude install postfix

ou

sudo apt-get install postfix

selon vos petites habitudes...

Le système propose différentes options de configuration, je choisis "Pas de configuration".

Je crée le fichier [/etc/postfix/main.cf] avec seulement trois petites lignes.

 # See /usr/share/postfix/main.cf.dist for a commented, more complete version default_transport = local luser_relay= dev home_mailbox = Maildir/ 

La première ligne indique que le serveur livre par défaut les mails en local. La deuxième ligne précise que les mails seront déposés sur le compte de l'utilisateur "dev". Il s'agit de l'utilisateur linux. La troisième ligne définit le répertoire dans lequel Postfix stockera les mails.

Test du serveur postfix

Pour tester notre nouveau serveur, le plus simple est d'utiliser la commande "mail". On évite ainsi de devoir configurer exprès un logiciel de mail. Par défaut la commande mail utilise "localhost" comme serveur smtp.

Si la commande mail n'est pas installée :

sudo aptitude install mailutils

puis on envoie un mail avec la commande suivante :

echo "Message de test" | mail test@test.com -s "Test `date`"

On vérifie dans le répertoire [/home/dev/Maildir/new/] la présence d'un fichier. Afficher ce fichier devrait donner à peu près cela :

more Maildir/new/1318834019.V805I1ef58M800270.net26p

 Return-Path: <utilisateur[[@net26p.localdomain]]> X-Original-To: test@test.com Delivered-To: test@test.com Received: by net26p.localdomain (Postfix, from userid 1000) 	id C25C7EE2D; Mon, 17 Oct 2011 08:46:59 +0200 (CEST) **Subject: Test lundi 17 octobre 2011, 08:46:59 (UTC+0200)** To: <test@test.com> X-Mailer: mail (GNU Mailutils 2.1) Message-Id: <20111017064659.C25C7EE2D@net26p.localdomain> Date: Mon, 17 Oct 2011 08:46:59 +0200 (CEST) From: Utilisateur[[@net26p.localdomain]] (Nom Utilisateur) **Message de test** 

Installation du serveur courier-imap

Cette partie est facultative mais vous permettra d'autoriser l'accès aux mails de tests à toutes les personnes que vous souhaitez.

Là encore rien de bien compliqué :

sudo aptitude install courier-imap

La configuration par défaut permet de l'utiliser

Test du serveur courier-imap

Dans mon logiciel de mail préféré, je configure un serveur IMAP avec l'adresse IP de mon nouveau serveur, les identifiants de l'utilisateur "dev" et je peux lire les messages. L'adresse de destination est bien la véritable adresse donc cela me permet de vérifier à qui le mail aurait du être envoyé.

Un commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.