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 |
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.