Installation et configuration d’un serveur de mail avec postfix et courier

configurer mail serveur dédié

On continue la série de tutoriel vidéo sur les serveurs dédiés (voir le sommaire ici) et cette fois-ci on va voir comment installer un serveur de mail avec le duo gagnants Postfix + Courier.

À la fin de ce tutoriel, vous serez en mesure de gérer plusieurs adresses emails virtuelles (au moins une par nom de domaine) de la forme : contact@nomdedomaine.tld.

On va en profiter pour installer un Webmail pour gérer nos emails (envoie et réception) sur nos différents noms de domaine avec une interface en ligne assez sympa (merci Roundcube) :

En revanche, je ne vous cache pas que c’est probablement le tutoriel le plus compliqué de la série et qu’il y a énormément de choses qui peuvent planter ce qui ne facilite pas le débogage. Mais si vous suivez la vidéo avec attention, tout devrait bien se passer :

Comme d’habitude un petit résumé des grandes étapes avec un bonus à la fin des erreurs les plus courantes et quelques astuces en cas de problème !

Installation de Postfix

L’installation de postfix en elle-même est très simple, il suffit de taper la ligne de commande « apt-get install postfix-mysql » et de choisir « pas de configuration » pendant l’installation.

Les plus curieux d’entre vous auront constatés qu’on installe un paquet un peu spécial de postfix avec une extension « -mysql ». Cette version nous simplifie les choses, on utilisera une base de données MySQL pour stocker nos différents comptes email et noms de domaine.

Création des tables SQL pour Postfix

On a besoin de créer 3 tables pour Postfix :

  1. Une table « domaines » qui contient la liste des noms de domaine hébergés sur le serveur
  2. Une table « comptes » qui contient toutes les adresses emails virtuelle de la forme « contact@nomdedomaine.tld »
  3. Une table « alias » qui contient différents alias email que nous n’utiliserons pas.

Pour créer ces tables, le plus simple reste de copier/coller ce code SQL dans phpmyadmin. En revanche, vous devez d’abord créer une base de données « postfix » avec un utilisateur « postfix » ayant tout droits sur cette base.

USE postfix;

CREATE TABLE `domaines` (
  `domaine` varchar(255) NOT NULL default '',
  `etat` tinyint(1) NOT NULL default '1',
  PRIMARY KEY  (`domaine`)
) ENGINE=MyISAM;

CREATE TABLE `comptes` (
  `email` varchar(255) NOT NULL default '',
  `password` varchar(255) NOT NULL default '',
  `quota` int(10) NOT NULL default '0',
  `etat` tinyint(1) NOT NULL default '1',
  `imap` tinyint(1) NOT NULL default '1',
  `pop3` tinyint(1) NOT NULL default '1',
  PRIMARY KEY  (`email`)
) ENGINE=MyISAM;

CREATE TABLE `alias` (
  `source` varchar(255) NOT NULL default '',
  `destination` text NOT NULL,
  `etat` tinyint(1) NOT NULL default '1',
  PRIMARY KEY  (`source`)
) ENGINE=MyISAM;

Configuration de Postfix pour le lier à la BDD

Maintenant que la base de données est fonctionnelle avec toutes les tables et un utilisateurs valide, nous devons créer 5 fichiers de configurations pour expliquer à Postfix comment utiliser cette base de données. Les fichiers se ressemblent donc faites attention aux erreurs d’inattention :

/etc/postfix/mysql-virtual_domaines.cf

hosts = 127.0.0.1
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
select_field = 'virtual'
table = domaines
where_field = domaine
additional_conditions = AND etat=1

/etc/postfix/mysql-virtual_comptes.cf

hosts = 127.0.0.1
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
table = comptes
select_field = CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
where_field = email
additional_conditions = AND etat=1

/etc/postfix/mysql-virtual_aliases.cf

hosts = 127.0.0.1
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
table = alias
select_field = destination
where_field = source
additional_conditions = AND etat=1

/etc/postfix/mysql-virtual_aliases_comptes.cf

hosts = 127.0.0.1
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
table = comptes
select_field = email
where_field = email
additional_conditions = AND etat=1

/etc/postfix/mysql-virtual_quotas.cf

hosts = 127.0.0.1
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
table = comptes
select_field = quota
where_field = email

Une fois terminée, je vous recommande de sécuriser un peu tout cela avec ces lignes de commandes :


chmod u=rw,g=r,o= /etc/postfix/mysql-virtual_*.cf
chgrp postfix /etc/postfix/mysql-virtual_*.cf
Restriction des droits sur les fichiers

Création de l’utilisateur et groupe vmail

Pour avoir une configuration assez propre et sécurisé, nous pouvons créer un utilisateur et un groupe vmail qui se chargera de gérer/stocker les courriels sur le serveurs. Nous devons préciser des UID et GID précis (5000) car nous en auront besoin plus tard dans un fichier de configuration.


# Créer un groupe vmail avec le gid 5000
groupadd -g 5000 vmail
# Créer un utilisateur vmail avec un uid 5000 et son répertoire perso dans /var/spool/vmail
useradd -g vmail -u 5000 vmail -d /var/spool/vmail/ -m
Création de l'utilisateur et groupe

Configuration de Postfix

Maintenant on doit configurer le fichier principal de Postfix. Par défaut le fichier est vide, car nous avons choisi « pas de configuration » pendant l’installation. Comme promis dans la vidéo, voici un exemple de fichier de configuration commenter pour vous expliquer les différentes lignes :

# Bannière afficher lorsqu'on se connecte en SMTP sur le port 25
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

# Service qui envoie des notifications "nouveau message"
biff = no

# Desactive la commande SMTP VRFY. Arrête certaine technique pour avoir des adresses email
disable_vrfy_command = yes

# Impose au client SMTP de démarrer la session SMTP par une commande Helo (ou ehlo)
smtpd_helo_required = yes

# Avec le courier local ça ajoute .NDD aux adresses incomplètes (seulement le nom d'hote)
append_dot_mydomain = no

# Le nom de la machine du système de messagerie
# Par défaut c'est host.domain.tld mais on peut mettre un reverse dns
myhostname = REVERSE_DNS

# Le domaine utilisé par defaut pour poster les message local
myorigin = REVERSE_DNS

# Liste des domaines pour lequel le serveur doit accepter le courrier
mydestination = REVERSE_DNS, localhost.localdomain, localhost

# Pour effectuer des livraisons de courrier avec un relay (ici non)
relayhost =

# Liste des réseaux locaux autorisés
mynetworks = 127.0.0.0/8, IP_PUBLIQUE_SERVEUR

# Taille des boîtes au lettre (0 = illimité)
mailbox_size_limit = 0

# Séparateur entre le nom d'utilisateur et les extensions d'adresses
recipient_delimiter = +

# Interfaces réseaux à écouter (ici toutes)
inet_interfaces = all

# Gestion des boites mails virtuelle
# Contient les fichiers qui permettent de relier postfix  mysql
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_aliases.cf,mysql:/etc/postfix/mysql-virtual_aliases_comptes.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domaines.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_comptes.cf

# Le dossier ou seront contenu les mails (=home de l'user vmail)
virtual_mailbox_base = /var/spool/vmail/

# L'id du groupe et de l'utilisateur vmail créé précédement
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

# Créer un dossier par comte email
virtual_create_maildirsize = yes

# A activer si vous souhaitez ajouter des quotas
virtual_mailbox_extended = yes

# Impose les limites au niveau des mails, dans notre cas aucune
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual_quotas.cf

# Ajouter une limite sur la taille des messages pour les boites virtuelles
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "La boite mail de votre destinataire est pleine, merci de reessayez plus tard."
virtual_overquota_bounce = yes

# adresses d'expedition
smtpd_sender_restrictions =
        permit_mynetworks,
        warn_if_reject reject_unverified_sender

# adresses de destination
smtpd_recipient_restrictions =
        permit_mynetworks,
        reject_unauth_destination,
        reject_non_fqdn_recipient

# client
smtpd_client_restrictions =
        permit_mynetworks

Si vous avez encore des problèmes avec ce fichier, je vous recommande de lire la documentation qui explique tous les paramètres du fichier main.cf.

Une fois cette configuration terminée, vous pouvez redémarrer Postfix et vérifier sa configuration :


/etc/init.d/postfix restart
/etc/init.d/postfix check
# Un petit tour dans les logs aussi
cat /var/log/syslog
cat /var/log/mail.log
Lancement de postfix

Ajout d’adresses email virtuelles

Tout est bon au niveau de postfix, il ne nous reste plus qu’à ajouter un nom de domaine et une adresse email virtuelle dans notre base de données via phpmyadmin. Voilà les codes SQL utilisés dans la vidéo :
Ajouter un nom de domaine


INSERT INTO `domaines` ( `domaine` , `etat` ) VALUES (‘VOTRE_DOMAINE.com’, ‘1’);
Ajout d'un domaine

Ajouter une adresse virtuelle


INSERT INTO `comptes` ( `email` , `password` , `quota` , `etat` , `imap` , `pop3` ) VALUES
(‘contact@VOTRE_DOMAINE.com’, ENCRYPT( ‘VOTRE_PASS_MAIL’ ) , ‘0’, ‘1’, ‘1’, ‘1’);
Ajout d'une adresse

Un petit test

Il ne nous reste plus qu’à tester notre configuration globale en nous connectant avec telnet sur le port 25 et en envoyant un email. De plus, en envoyant ce premier mail ça va automatiquement créer le dossier pour le nom de domaine dans /var/spool/vmail.


telnet 127.0.0.1 25
ehlo nomdedomaine.tld
mail from:
rcpt tp:
data :
blabla
blabla
.
Test en telnet

Si vous n’avez pas d’erreurs, c’est que tout ce passe bien et vous pouvez le vérifier grâce aux fichiers de logs.
Si vous n’arrivez pas vous connecter en telnet, vous pouvez tenter ces lignes de commandes :


/etc/init.d/postfix stop
newaliases
/etc/init.d/postfix start
Quick fix si telnet ne fonctionne pas

Installation de Courier pour la gestion de l’imap et pop

Maintenant que Postfix est installé et configuré, on a besoin d’installer courier afin de gérer les protocoles pop et imap, qui nous permettent de récupérer nos email via un client comme Thunderbird ou de mettre en place un Webmin comme Roundcube. Voici la liste des paquets à installer :


apt-get install courier-base courier-authdaemon courier-authlib-mysql courier-imap courier-pop
Installation de courier

Configuration

Nous devons configurer courier afin de préciser qu’on utilise une base de données pour les adresses emails virtuelles. Voici les modifications qu’il faut faire :


authmodulelist= »authmysql »
/etc/courier/authdaemonrc

On doit ensuite fournir les identifiants de connexion à la base de données et le nom des tables :


MYSQL_SERVER            localhost
MYSQL_USERNAME          postfix
MYSQL_PASSWORD          Mot de passe de connexion SQL
MYSQL_DATABASE          postfix
MYSQL_USER_TABLE        comptes
MYSQL_CRYPT_PWFIELD     password
MYSQL_UID_FIELD         5000
MYSQL_GID_FIELD         5000
MYSQL_LOGIN_FIELD       email
MYSQL_HOME_FIELD        « /var/spool/vmail/ »</p>
<p>MYSQL_MAILDIR_FIELD     CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’)
/etc/courier/authmysqlrc

Et c’est tout pour la configuration de Courier, il ne nous reste plus qu’à faire un reboot des différents services :


/etc/init.d/courier-authdaemon restart
/etc/init.d/courier-pop restart
/etc/init.d/courier-imap restart
Lancement des daemons

Roundcube

Tout est près, on peut d’ores et déjà récupérer ces emails avec un client comme le célèbre Thunderbird, mais je vous propose d’installer un Webmail qui présente l’avantage d’avoir une interface en ligne.
Commencez par récupérer le lien pour télécharger la dernière version de RoundCube sur cette page (Dans sourcefourge faites un clique droit/copier l’adresse du lien sur le « direct link »).
Ensuite en ligne de commande on télécharge et dé-zippe le fichier avec wget et tar puis on crée un utilisateur pour héberger le code de roundcube :


wget http://surfnet.dl.sourceforge.net/sourceforge/roundcubemail/roundcubemail-X.X-stable.tar.gz
tar -zxvf roundcubemail-X.X-stable.tar.gz
adduser roundcube
mv roundcubemail-X.X-stable.tar.gz /home/roundcube/www
chown -R roundcube:roundcube /home/roundcube
Récupération de Roundcube

Désormais le code pour Roundcube est disponible dans le dossier /home/roundcube/www (comme pour les autres sites) et donc nous devons créer un fichier virtual host :

/etc/apache2/sites-available/roundcube

<VirtualHost *:80>
ServerAdmin votre@email.tld
	ServerName webmail.ks367082.kimsufi.com
	ServerAlias webmail.tutorielvideo.fr
	DocumentRoot /home/roundcube/www
	# SuexecUserGroup roundcube roundcube # on verra ça plus tard
	<Directory /home/roundcube/www>
		Options FollowSymLinks
		AllowOverride All

		Options FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
	ErrorLog ${APACHE_LOG_DIR}/error.log
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Maintenant on va créer la base de données pour Roundcube. Connectez-vous sur votre phpmyadmin et créez une base de données Roundcube avec un utilisateur Roundcube qui possède tous les droits sur la base.
Ensuite, on va importer un fichier SQL pour créer les tables nécessaires à Roundcube :

mysql -u root -p roundcubemail < /var/www/webmail/SQL/mysql.initial.sql
BDD Roundcube

Ensuite, vous devez lancer l’installateur de roundcube en allant sur la page http://ksXXXXX.kimsufi.com/~roundcube/installer. Les étapes sont simples à suivre, n’oubliez pas de configurer la base de données.

À l’étape 2, Roundcube vous donnera 2 fichiers de configuration que vous devez créer avec l’éditeur VI par exemple.

Enfin n’oubliez pas de donner les répertoires ~roundcube/www/temp et logs à apache avec un chwon www-data:www-data /home/roundcube/www/temp (et logs).

Maintenant il ne vous reste plus qu’à tester Roundcube en envoyant un email de test et en testant l’imap en donnant l’adresse email virtuelle que vous avez configuré précédemment avec le mot de passe sur le serveur 127.0.0.1.

Erreurs fréquentes

Dans l’installation et la configuration d’un serveur de mail, on peut très facilement se tromper. Pour vous éviter de rechercher des solutions pendant des jours comme je l’ai fait, je vous propose une petite liste d’erreurs que j’ai déjà commise avec leurs solutions. Cette liste pourra éventuellement se mettre à jour en fonction de vos réactions.

J’ai une erreur 500 sur la page Roundcube

Si vous n’arrivez pas accéder à la page d’installation ou d’index de Roundcube et que vous avez une erreur 500, le problème vient probablement du fichier .htaccess. En effet, Roundcube utilise un fichier .htaccess pour redéfinir des règles pour Apache.

Cependant, il faut autoriser l’utilisation de fichier htaccess en plaçant une directive « AllowOverride All » dans le fichier virtual host du site. Il faut également placer cette directive dans le fichier de configuration de UserDir (/etc/apache2/mods-available/userdir.conf).
De toute manière, en faisant un tour dans les logs, on voit tout de suite si le problème vient des htaccess.

Je n’arrive pas me connecter avec Roundcube / L’imap fonctionne pas

Si le test de l’imap à l’étape 3 de l’installation de Roundcube plante ou si vous n’arrivez pas vous connecter avec une adresse email virtuelle, le problème peut venir du fait que le compte email est « vide ».

En effet, pendant le tutoriel nous utilisons telnet pour envoyer un email sur l’adresse fraîchement créé via phpmyadmin. Cela permet de vérifier que tout fonctionne bien, mais cela génère également le dossier qui va contenir tous les emails du domaine dans /var/spool/vmail/. Si ce dossier n’existe pas, vous n’arriverez pas à vous connecter sur votre compte avec Roundcube. La solution est donc de refaire l’étape du telnet et de vérifier que ça génère bien le dossier.

Si en regardant les logs, vous avez une erreur du type « authentification failed » ou un message ressemblant, ça vient probablement du fichier /etc/courier/authmysqlrc. Soit vous avez oublié de commenter la ligne « MYSQL_NAME_FIELD », ou alors vous avez oublié le « MYSQL_MAILDIR_FIELD ».

Je n’arrive pas me connecter en telnet

Si vous n’arrivez pas vous connecter en telnet (si ça freeze), c’est qu’un des fichiers de configuration est mal fait. Vous pouvez le vérifier en regardant dans /var/log/syslog. Si ça ne fonctionne toujours pas, vous pouvez toujours d’arreter postfix et de lancer la commande « newaliases« .

Comment trouver une solution à un problème

Si vous avez un problème qui n’est pas recensé ici, voici quelques pistes pour le trouver. Premier réflexe, si quelque chose ne fonctionne pas -> aller voir les logs.
Voici les fichiers de log intéressant dans ce cas :

  • /var/log/syslog : la plupart des erreurs systèmes sont la dedans
  • /var/log/mail.log : pour tout ce qui concerne les email
  • /var/log/apache2/error.log : toutes les erreurs concernant apache

La plupart du temps vous pouvez identifier le problème et avec une recherche Google (et un peu de logique), on arrive trouver des solutions.

Le tutoriel est enfin terminé, si vous avez des questions ou un prolbème vous pouvez toujours laisser un commentaire. En revanche donnez moi des informations si vous voulez de l’aide (comme les fichiers de logs) car je ne suis pas devin :p.

Si vous me donner des fichiers de log, utilisez un service comme pastebin. Les commentaires de personnes qui donne directement les logs en brut dans les commentaires ne seront pas validés !
Enfin, n’oubliez pas de partarger cet article sur twitter/facebook et de devenir fan de la page en cliquant ici.

(Image à la une : Mail me)

196 commentaires ont été ajoutés, ajoutez le vôtre.

Vous pouvez laisser un commentaire, cependant je ne peux pas vous garantir qu'il sera modéré rapidement ou qu'il aura une réponse, faute de temps pour m'occuper du site.

  1. Marc

    Bonjour Alexis, tout d’abord merci pour ces différentes pages dont j’ai fait un usage intensif pour mes installations. Toutefois je voudrais attirer l’attention des lecteurs que les différentes configurations présentées ici ne sont plus forcément d’actualité car les sources ont changé. Debian 7 est sorti, Postfix renvoie de nombreux unused parameter (paramètres non utilisés).
    Je voulais aussi conseiller à chacun de se pencher sur l’ajout d’un Spamassassin et de surveillance des virus tel CLAMAV.
    Ce tutoriel est très bon mais mériterai un rafraichissement.

  2. Patrick

    Bonjour, et même si je l’ai déjà dit : MERCI pour tes tutos….!!!
    Pour ma part tout fonctionne presque à merveille ;), seule ombre les mails à destination d’hotmail qui ne passent pas mais bon je cherche….

    Par contre existe-t’il une solution pour transférer automatiquement tous les mails d’un compte email ou d’un domaine?
    merci

    • Madrzejewski Alexis

      Bonjour Patrick,

      Il n’existe pas de solution pour transférer les mails à ma connaissance. La seule solution que je vois, c’est lors d’un transfert d’un serveur dédié A à un B, il suffirai de copier les dossiers contenant les mails (généralement dans /var/spool/mail de mémoire, mais ça peut être dans le /home des user aussi).
      Par contre, pour transferer les mails d’un FAI classique (ou d’un service comme Gmail) vers un dédié, je ne vois pas de solutions.

  3. Guillaume

    Bonjour,
    Tout d’abord, Alexis, félicitation pour ces tutoriels, ils sont très bien expliqués. J’avais essayé de configuré mon serveur local avec des sites internet, mais ça n’était pas aussi clair… et fonctionnel que ceux que tu as fait.

    Le serveur mail est donc ma dernière étape pour que mon site web soit opérationnel. J’ai donc suivi ton tutoriel postfix, puisque les autres m’avaient très bien aidé. Mais je suis tombé sur une petite tuile lorsque je fait un « postfix check » (et il en va de même en faisant un « /etc/init.d/postfix restart »).
    J’ai une liste d’erreurs bizarres. Je mets un extrait (parce que c’est répété plusieurs fois) ci-dessous:

    « /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_overquota_bounce=yes
    /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_limit_maps=mysql:/etc/postfix/mysql-virtual_quotas.cf
    /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_maildir_limit_message= »La boite mail de votre destinataire est pleine, merci de reessayez plus tard. »
    /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes
    /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes
    /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_limit_override=yes »

    Je suis donc aller dans le /etc/postfix/main.cf pour voir ce qu’il en était mais je dois dire que je n’ai pas trouvé ce que ça pourrait être.

    Est-ce que ça ne te serait pas déjà arrivé par hasard?

    Merci beaucoup.

    Guillaume

    • Madrzejewski Alexis

      Bonjour Guillaume,

      Après un coup d’oeil rapide, ce ne sont que des warnings donc rien de bien méchant. La solution serait de clarifier le fichier de configuration de postfix en enlevant les lignes qui provoquent ces erreurs car à priori elles sont inutile (d’après le message de warning).

      • Guillaume

        Bonjour Alexis,
        Merci beaucoup pour ta réponse et désolé pour le temps de réponse un long, mais j’ai eu un problème avec mon serveur, et impossible de faire quoique ce soit avec. Mais le problème est réglé.

        Effectivement, j’avais déjà essayé, mais en faisant cela, les message n’apparaissent plus, mais il m’est ipossible de créer le mail avec Telnet (ceci dit, c’était déjà le cas avant).
        Par conséquent, je suis aller voir dans le fichier mail.log, d’où j’ai tiré les lignes suivantes:

        « Mar 31 18:34:12 Boul-server postfix/pickup[3930]: warning: 4A477301A44: message has been queued for 4 days
        Mar 31 18:34:12 Boul-server postfix/pickup[3930]: 4A477301A44: uid=0 from=
        Mar 31 18:34:12 Boul-server postfix/cleanup[3951]: warning: mysql:/etc/postfix/mysql-virtual_aliases.cf lookup error for « root@XXX.XXX.XXX.XXX.in-add.arpa »
        Mar 31 18:34:12 Boul-server postfix/cleanup[3951]: warning: 4A477301A44: virtual_alias_maps map lookup problem for root@XXX.XXX.XXX.XXX.in-add.arpa — deferring delivery »

        en faisant le telnet, j’ai ceci:
        « telnet 127.0.0.1 25 »
        ça fonctionne, j’ai la même chose que toi
        « helo domaine.tld »
        ça fonctionne, j’ai le même chose que toi
        « mail from:
        ça fonctionne toujours, j’ai la même chose que toi
        « rcpt to:
        là… ça fonctionne plus, il me met ça:
        « 451 4.3.0 : Temporary lookup failure »

        Et je n’arrive pas à savoir pourquoi.

        Y-a-t-il un autre moyen, pour créer un mail, que par telnet?

        Merci beaucoup pour ton aide.

      • Guillaume

        J’ai oublié une petite précision, j’ai tenté de créé manuellement les rpertoires (avec mkdir -p /var/spool/vmail/user/{new,cur,tmp} suivi d’un chown -R vmail:vmail /var/spool/vmail) , mais rien n’y fait.

        Si quelqu’un a une idée, elle est la bien venue.

        En tout cas merci et on ne le dira jamais assez, bravo pour ce tuto.