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...
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.
La configuration de Postfix se fait dans le fichier /etc/postfix/main.cf. Utilisez mon fichier d'exemple pour comprendre les paramètres et bien configurer votre serveur :
# cp ~/config/main.cf /etc/postfix/ |
ou :
% wget http://people.via.ecp.fr/~alexis/formation-linux/config/main.cf # mv main.cf /etc/postfix/ |
Une fois que vous avez personnalisé le fichier main.cf en lisant les commentaires contenus dans le fichier, il faut dire à Postfix de relire sa configuration :
# /etc/init.d/postfix reload |
Les utilisateurs qui ont des comptes sur le serveur peuvent alors reçevoir du mail à l'adresse nom_du_compte@nom_de_domaine. Le mail reçu pour l'utilisateur toto est stocké dans le fichier /var/mail/toto (sauf si l'utilisateur a un fichier .procmailrc dans son home : cf Le mail en console pour comprendre procmail).
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 |
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 |
Voici une petite liste des commandes de base d'administration de Postfix :
Liste la queue de mails en attente d'envoi :
% mailq |
Cette commande est équivalente à la commande postqueue -p.
Force Postfix à réessayer d'envoyer les mails en attente d'envoi immédiatement :
% postqueue -f |
Supprime un mail de la queue des mails en attente d'envoi :
# postsuper -d mail_ID |
où mail_ID est l'identifiant du mail dans la queue (il apparaît à gauche dans la sortie de la commande mailq).
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). |
Pour ajouter un service POP3 à votre serveur de mail, il suffit d'installer qpopper :
# apt-get install qpopper |
La configuration de qpopper se fait dans le fichier /etc/qpopper.conf. Par défaut, tout est commenté, mais les paramètres par défaut doivent vous permettre de l'utiliser normalement.
De même, mais avec le package uw-imapd :
# apt-get install uw-imapd |
Il n'y a pas de fichier de configuration... donc ça devrait marcher tout seul !
Précédent | Sommaire | Suivant |
Monter un serveur DNS | Niveau supérieur | Monter un serveur de mailing-listes |