Chapitre 10. Monter un serveur de mail

Table des matières
1. Configurer Postfix
1.1. Installer Postfix
1.2. main.cf
1.3. Les alias
1.4. Les adresses virtuelles
1.5. Les commandes de base d'administration
2. Ajouter des serveurs POP et/ou IMAP...
2.1. Installer un serveur POP3
2.2. Installer un serveur IMAP

Vous avez réussi à faire fonctionner votre serveur DNS ? Vous avez prévu des champs "MX" pour faire fonctionner un serveur mail ? Alors suivez ce qui suit...

1. Configurer Postfix

1.1. Installer Postfix

Si vous avez sauté le chapitre Configurer son serveur de mail local, alors je vous invite à y retourner et à suivre la procédure qui y est décrite ! Vous aurez alors un serveur Postfix avec une configuration pour délivrer le mail en local.

1.3. Les alias

Les alias permettent de faire des correspondances entre des adresses mail et des comptes locaux, d'autres adresses mail ou encore des commandes à exécuter. Ils sont définis dans le fichier /etc/aliases. La syntaxe de ce fichier est très simple :


# /etc/aliases
# Fichier d'alias mail
# NE PAS OUBLIER d'exécuter "newaliases" après chaque modification

# Fait suivre le mail reçu à l'adresse <alexis.delattre@nom_de_domaine>
# au compte local "alexis" :
alexis.delattre:	alexis

# Fait suivre le mail reçu à l'adresse <toto@nom_de_domaine>
# à l'adresse <titi@yahoo.fr> :
toto:			titi@yahoo.fr

# Fait suivre le mail reçu à l'adresse <machin@nom_de_domaine>
# aux comptes "user1" et "user2" et à l'adresse <bidulle@exemple.org> :
machin:			user1,user2,bidulle@exemple.org

# A la réception d'un mail à l'adresse <bruit@nom_de_domaine>,
# exécute la commande "/usr/lib/ecartis/ecartis -s bruit" :
bruit:			"|/usr/lib/ecartis/ecartis -s bruit"

Normalement, on définit aussi dans ce fichier à quel compte local (ou à quelle adresse) le serveur de mail doit faire suivre le mail destiné à l'utilisateur root. En effet, comme il n'y a pas besoin d'avoir tous les pouvois pour lire le mail du root, il serait absurde (et même dangereux) de lire les mails du root en tant que root. Il est préférable de faire suivre le mail du root vers un autre compte ou une autre adresse.

Il faut également faire des alias pour les adresses postmaster et abuse, qui sont deux adresses standard pour pouvoir joindre les administrateurs du serveur de mail d'un domaine. Par exemple, si vous utilisez un compte local admin pour lire les logs et les mails d'administration, ajoutez les lignes suivantes au fichier d'alias :


root:			admin
postmaster:		admin
abuse:			admin

Ensuite, exécutez la commande suivante pour qu'il regénère la base de donnée d'alias contenue dans le fichier /etc/aliases.db (ne pas oublier d'exécuter cette commande après chaque modification du fichier /etc/aliases) :


# newaliases

1.4. Les adresses virtuelles

Quand le domaine de l'adresse mail n'est pas celui de la machine, on passe par un mécanisme d'adresses virtuelles pour faire correspondre ces adresses mail à des comptes locaux, à d'autres adresses mail ou encore à des commandes à exécuter.

Le nom du fichier contenant les correspondances pour les adresses virtuelles est définit dans le fichier de configuration de Postfix /etc/postfix/main.cf par le paramètre virtual_maps :


virtual_maps = hash:/etc/postfix/virtual

La syntaxe du fichier est semblable à celle du fichier d'alias, mais sans la séparation par les deux-points :


# /etc/postfix/virtual
# Fichier de correspondance pour les adresses virtuelles
# NE PAS OUBLIER d'exécuter "postmap /etc/postfix/virtual"
# après chaque modification

# Fait correspondre une adresse virtuelle à un compte local
postmaster@exemple.org	admin
alexis@exemple.org	alexis

# Fait correspondre une adresse virtuelle à une autre adresse mail
toto@exemple.org	titi@yahoo.fr

# Fait correspondre une adresse virtuelle à une commande à exécuter
bruit@exemple.org	"|/usr/lib/ecartis/ecartis -s bruit"

Ensuite, exécutez la commande suivante pour qu'il tienne compte des modifications :


# postmap /etc/postfix/virtual

2. Ajouter des serveurs POP et/ou IMAP...

Attention

Attention, les protocoles POP et IMAP font transiter les mots de passe en clair sur le réseau ! Il est possible de les sécuriser en les faisant passer par des tunnels SSH (cf L'accès à distance par SSH) ou faisant du SSL (non expliqué ici).