# Docker mailserver : configurer un serveur de messagerie avec Docke

Un serveur de messagerie dédié vous offre un contrôle total sur vos échanges numériques. Ce guide vous explique comment configurer votre propre serveur mail à l’aide de Docker. Il couvre l’ensemble du processus : des prérequis système aux conseils de sécurité, en passant par un tutoriel détaillé étape par étape. Avec des conteneurs prêts à l’emploi comme Docker Mailserver, déployer une solution de messagerie sécurisée et évolutive n’a jamais été aussi simple.

## Qu’est-ce qu’un serveur mail Docker ?

Un serveur mail Docker est une solution de messagerie **auto-hébergée** déployée dans des [conteneurs via Docker](https://www.ionos.fr/digitalguide/serveur/know-how/les-docker-containers/). Il permet l’envoi, la réception et le stockage des emails tout en offrant un contrôle total sur la confidentialité des données, les politiques de sécurité et la configuration du système. Contrairement aux services tiers comme Gmail ou Outlook, un serveur mail Docker vous donne la **maîtrise complète de votre infrastructure** ; il s’agit d’une solution idéale pour les développeurs, les utilisateurs soucieux de leur vie privée et les petites entreprises.

### Pourquoi utiliser Docker pour un serveur mail ?

L’hébergement d’un serveur de messagerie avec Docker présente plusieurs avantages majeurs :

- **Isolation et sécurité :** les conteneurs Docker isolent le serveur mail, réduisant les risques de compromission du système global et renforçant la sécurité.
- **Portabilité :** les conteneurs peuvent être facilement déplacés d’un environnement à un autre, assurant une configuration cohérente entre les serveurs locaux et Cloud.
- **Déploiement simplifié :** Docker propose des stacks préconfigurés, ce qui simplifie considérablement l’installation et évite les configurations manuelles complexes.
- **Scalabilité :** il est facile de faire évoluer les conteneurs Docker pour répondre à une augmentation du trafic mail ou à de nouveaux besoins en ressources.
- **Gestion des versions :** vous pouvez spécifier les versions des images Docker pour éviter les problèmes de compatibilité et faciliter un retour à une version antérieure si nécessaire.
- **Cohérence entre les environnements :** Docker garantit des configurations identiques en développement, test et production.

## Configurer son propre serveur de mail avec Docker : quelles sont les conditions requises ?

Note Ce guide s’adresse aux utilisateurs à l’aise avec Linux et Docker, qui souhaitent disposer d’une infrastructure de messagerie privée et flexible. Il est particulièrement utile pour les développeurs, les administrateurs systèmes et les petites entreprises.

Pour héberger votre propre serveur mail Docker, vous devez disposer de **ressources matérielles adaptées** au volume d’emails que vous prévoyez de traiter. Une adresse IPv4 statique est indispensable pour assurer des échanges de messagerie fiables et fluides. Il est également essentiel de configurer correctement les enregistrements DNS : MX, SPF, DKIM et DMARC. Enfin, le support de l’IPv6 devient un atout important pour améliorer la compatibilité et renforcer la réputation de votre serveur d’envoi.

Les recommandations actuelles :

- **Image Docker :** `docker-mailserver/docker-mailserver:v13.2+`
- **Protocoles de messagerie :** SMTP (ports 25, 587, 465), IMAPS (993), POP3S (995)
- **Normes de sécurité :** [TLS 1.3](https://www.ionos.fr/digitalguide/serveur/securite/tls-transport-layer-security/), [DKIM](https://www.ionos.fr/digitalguide/email/securite-email/dkim-domainkeys/), [SPF](https://www.ionos.fr/digitalguide/email/securite-email/quest-ce-quun-spf-record/), [DMARC](https://www.ionos.fr/digitalguide/email/securite-email/dmarc-check/), DNSSEC (si pris en charge)
- **Système d’exploitation hôte :** Ubuntu 22.04 LTS, Debian 12 ou autres distributions Linux stables équivalentes

Conseil Simplifiez la configuration de votre serveur mail avec [Docker Mailserver](https://github.com/docker-mailserver/docker-mailserver "GitHub - docker-mailserver/docker-mailserver: Production-ready fullstack but simple mail server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) running inside a container."), un stack open source populaire maintenu par la communauté. Il réunit Postfix, Dovecot, rspamd, ClamAV et, en option, une intégration LDAP ; le tout dans un conteneur prêt à l’emploi !

## Configurer son propre serveur de mail avec Docker : quels sont les éléments à prendre en compte ?

### Paramètres de sécurité

Pour sécuriser efficacement votre serveur de messagerie, veillez à appliquer **systématiquement** les réglages suivants :

- Utiliser des certificats TLS à jour (au minimum TLS 1.2, idéalement TLS 1.3)
- Définir et appliquer les règles SPF, DKIM et DMARC
- Mettre en place un contrôle du nombre de connexions (*rate limiting*) et activer l’authentification via SASL
- Chiffrer les connexions IMAP/POP3 et SMTP
- Configurer la journalisation avec des outils comme rsyslog, accompagnée d’une rotation régulière et structurée des logs

Note Même avec une configuration en conteneur via Docker, une sécurité indépendante du système reste indispensable. Docker simplifie l’installation, mais ne remplace pas le renforcement du système : pare-feu, droits utilisateurs stricts, journalisation (par exemple avec rsyslog) et mises à jour régulières sont essentiels.

### Paramètres de configuration

La configuration d’un serveur mail Docker nécessite des **compétences techniques solides** et une **attention particulière à la sécurité**. Voici les étapes à ne pas négliger :

- Choisir une image Docker et un stack de messagerie adaptés (par ex. `docker-mailserver/docker-mailserver`)
- Configurer les enregistrements DNS (MX, SPF, DKIM, DMARC)
- Sécuriser l’hôte Docker (pare-feu, Fail2Ban, chiffrement)
- Sélectionner les bons outils d’administration et de surveillance
- Mettre à jour régulièrement le système et effectuer des sauvegardes (y compris les images Docker)
- Configurer les entrées DNS inversées et activer la prise en charge de l’IPv6
- Respecter les obligations légales (ex. : [RGPD](https://www.ionos.fr/digitalguide/sites-internet/droit-dinternet/le-rgpd-quels-changements-pour-les-entreprises/), [archivage légal des emails](https://www.ionos.fr/digitalguide/email/aspects-techniques/archiver-ses-emails-profesionnels/))

### Paramètres matériels

Pour exécuter votre propre serveur mail Docker, un matériel adapté est indispensable. Les performances nécessaires dépendent de plusieurs facteurs, notamment du nombre d’emails envoyés chaque jour et du nombre d’utilisateurs. Bien que les conteneurs Docker soient légers, vous devez tout de même prendre en compte la **RAM**, le **processeur** et l’**espace de stockage**. Des ressources supplémentaires peuvent être nécessaires si vous utilisez des services additionnels comme des systèmes de sauvegarde ou des outils de filtrage de contenu (contre le spam ou le *phishing*). De plus, une **adresse IPv4 statique** est indispensable pour garantir des échanges fiables avec d’autres serveurs mail, car les [adresses IP](https://www.ionos.fr/digitalguide/serveur/know-how/quest-ce-quune-adresse-ip/) dynamiques posent souvent des problèmes de délivrabilité.

Conseil Vous souhaitez donner à votre serveur mail Docker une touche individuelle et professionnelle ? Avoir votre propre adresse dédiée est alors essentiel. Enregistrez dès aujourd’hui [votre propre nom de domaine](https://www.ionos.fr/domaine/noms-de-domaine "Nom de domaine » Réservez un domaine internet pas cher !") chez IONOS et recevez par la même occasion un certificat SSL/TLS pour votre serveur de messagerie !

Le choix de l’environnement pour héberger votre serveur mail Docker doit tenir compte de la **capacité nécessaire**. Une configuration simple peut suffire pour quelques emails par jour, tandis qu’un serveur professionnel très sollicité demandera des ressources importantes en mémoire vive, processeur et stockage.

Note Que vous utilisiez [Windows ou Linux](https://www.ionos.fr/digitalguide/serveur/know-how/linux-vs-windows/), pensez à prendre en compte les ressources nécessaires pour le système d’exploitation.

<table>
  <thead>
    <tr>
      <th>Scénario de serveur de mail</th>
      <th>Matériel informatique compatible</th>
      <th>Tarif IONOS adapté</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Serveur domestique simple (faible volume d’emails)</td>
      <td>2 vCores, 8 Go de RAM, 240 Go SSD</td>
      <td>\[VPS Linux L\](https://www.ionos.fr/serveurs/vps “VPS</td>
    </tr>
    <tr>
      <td>Serveur pour une petite entreprise (jusqu’à 1 000 emails par jour)</td>
      <td>8 vCores, 16 Go de RAM, 480 Go SSD</td>
      <td>\[VPS Linux XL\](https://www.ionos.fr/serveurs/vps “VPS</td>
    </tr>
    <tr>
      <td>Serveur d’entreprise (plus de 50 000 emails par jour)</td>
      <td>6 vCores, 32 Go de RAM, 2 x 480 Go SSD en RAID</td>
      <td>[Serveur dédié AMD](https://www.ionos.fr/serveurs/serveurs-amd "Serveurs AMD - Ryzen Pro et EPYC - IONOS")</td>
    </tr>
  </tbody>
</table>

Note Avec un [serveur dédié IONOS](https://www.ionos.fr/serveurs/serveurs-dedies "Serveurs Dédiés | Hébergement pas cher avec Windows ou Linux | IONOS"), vous avez accès à du matériel d’entreprise qui vous est exclusivement réservé. Les deux modèles de [serveurs dédiés virtuels](https://www.ionos.fr/serveurs/vps "VPS | Serveur virtuel pas cher | IONOS France") et [serveurs Cloud](https://www.ionos.fr/cloud/serveurs-cloud "Serveurs Cloud | Windows ou Linux | IONOS") reposent sur des ressources virtualisées que vous partagez avec d’autres clients, et cela sans perte de performance.

## Configurer son propre serveur de mail avec Docker : tutoriel

Il existe plusieurs options pour configurer votre serveur mail. Dans le tutoriel suivant, nous avons par exemple opté pour un serveur basé sur le conteneur Docker [**docker-mailserver**](https://github.com/docker-mailserver/docker-mailserver "GitHub - docker-mailserver/docker-mailserver: Production-ready fullstack but simple mail server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) running inside a container."). Ce conteneur open source léger (licence MIT) fournit une stack modulaire et prête à l’emploi pour la mise en place de son propre serveur de mail : tous les composants importants tels qu’un [serveur SMTP](https://www.ionos.fr/digitalguide/email/aspects-techniques/serveur-smtp/), un [serveur IMAP ou POP](https://www.ionos.fr/digitalguide/email/aspects-techniques/imap-ou-pop3-pour-la-reception-de-vos-courriels/), un logiciel antispam et antivirus ou un service d’annuaires [LDAP](https://www.ionos.fr/digitalguide/serveur/know-how/ldap/) sont **inclus**.

Note Si vous souhaitez travailler avec une image Docker comme `docker-mailserver`, vous devez d’abord installer la plateforme de conteneurs. Vous trouverez de plus amples informations à ce sujet dans notre [tutoriel Docker](https://www.ionos.fr/digitalguide/serveur/configuration/tutoriel-docker-installation-et-premiers-pas/).

### Étape 1 : obtenir une image Docker

Vous pouvez obtenir la dernière image de `docker-mailserver` dans le [répertoire officiel du stack sur dockerHub](https://hub.docker.com/r/mailserver/docker-mailserver "mailserver/docker-mailserver - Docker Image | Docker Hub") ou via le [dépôt d’outils GitHub officiel](https://github.com/orgs/docker-mailserver/packages?repo_name=docker-mailserver "Packages · Docker Mailserver · GitHub").

L’approche recommandée consiste à utiliser une version stable, comme `v13.2`, plutôt que les balises `:latest` ou `:edge`.

Exécutez la commande suivante pour récupérer l’image :

```bash
docker pull mailserver/docker-mailserver:v13.2
# or:
docker pull ghcr.io/docker-mailserver/docker-mailserver:v13.2
```

### Étape 2 : configurer `docker-compose.yml`

Ensuite, vous devez configurer le fichier `docker-compose.yml` afin de définir les services et volumes nécessaires à votre conteneur Docker.

Voici un exemple de configuration pour votre serveur de messagerie :

```yaml
version: '3.8'
services:
    mailserver:
        image: docker.io/mailserver/docker-mailserver:v13.2
        container_name: mailserver
        hostname: mail-server
        domainname: exemple.fr
        ports:
            - "25:25"
            - "587:587"
            - "465:465"
            - "993:993"
        volumes:
            - ./docker-data/dms/mail-data/:/var/mail/
            - ./docker-data/dms/mail-state/:/var/mail-state/
            - ./docker-data/dms/mail-logs/:/var/log/mail/
            - ./docker-data/dms/config/:/tmp/docker-mailserver/
            - ./docker-data/nginx-proxy/certs/:/etc/letsencrypt/
            - /etc/localtime:/etc/localtime:ro
        environment:
            - ENABLE_FAIL2BAN=1
            - SSL_TYPE=letsencrypt
            - PERMIT_DOCKER=network
            - ONE_DIR=1
            - ENABLE_POSTGREY=0
            - ENABLE_CLAMAV=0
            - ENABLE_SPAMASSASSIN=0
            - SPOOF_PROTECTION=0
        cap_add:
            - NET_ADMIN
            - SYS_PTRACE
```

Cette configuration garantit que votre conteneur Docker utilise les ports appropriés pour **SMTP** (25 et 465), **IMAPS** (993) et la **soumission SMTP** (587), et que les volumes sont correctement montés pour assurer une conservation persistante des données. Des fonctionnalités de sécurité comme **Fail2Ban** et **Let’s Encrypt SSL** sont également activées.

Note Pour une liste détaillée des options configurables du serveur de mail Docker, consultez le [manuel officiel en ligne de docker-mailserver sur GitHub](https://docker-mailserver.github.io/docker-mailserver/edge/config/environment/ "Environment Variables - Docker Mailserver").

### Étape 3 : libérer les ports

Dans votre fichier YAML `docker-compose.yml`, vous remarquerez que les ports utilisés par le serveur de messagerie sont mentionnés : **25**, **465 et** 587 **pour SMTP, ainsi que** 993 **pour IMAPS. Ces ports doivent être** ouverts dans le pare-feu de votre serveur\*\* afin d’assurer un trafic email fiable.

Si vous utilisez un service comme IONOS pour l’hébergement, vous pouvez facilement ouvrir ces ports via le **Cloud Panel** :

1. Connectez-vous avec vos données client personnelles sur la [page de connexion du Cloud Panel](https://login.ionos.fr/ "Connexion – IONOS").
2. Accédez à la rubrique « **Serveurs &amp; Cloud** ».
3. Sélectionnez le matériel de serveur loué sur lequel vous souhaitez héberger votre serveur de mail Docker.
4. Cliquez sur « **Réseau** » dans le menu latéral gauche, puis sur « **Réglages du pare-feu** ».
5. Ajoutez successivement les trois ports TCP **25**, **465** et **587** en cliquant sur « **Ajouter une règle** ».

[![Image: IONOS Cloud Panel : ajouter une règle de pare-feu](https://www.ionos.fr/digitalguide/fileadmin/_processed_/7/7/csm_ionos-cloud-panel-add-firewall-rule_25f3059b8c.webp "IONOS Cloud Panel : ajouter une règle de pare-feu")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/ionos-cloud-panel-add-firewall-rule.jpg) Suivez les instructions indiquées ci-dessus afin d’autoriser les ports demandés. ### Étape 4 : intégrer le nom d’hôte dans la configuration DNS

À cette étape, vous devez vous assurer que le service DNS de votre domaine est correctement configuré :

- **Enregistrement MX :** il doit pointer vers le serveur de messagerie (par exemple `mail-server.exemple.fr`) que vous avez défini dans les champs `hostname` (nom d’hôte) et `domainname` (nom du domaine) de votre fichier `docker-compose.yml`.
- **Enregistrement SPF :** il s’agit d’un enregistrement TXT pour le domaine (et non pour le nom d’hôte), par exemple : `v=spf1 mx ~all`.

Note `~all` indique une « *Softfail* » ; vous pouvez aussi utiliser `-all` si vous souhaitez appliquer une politique plus stricte.

#### Comment configurer le DNS dans IONOS Cloud Panel ?

En tant que client IONOS, vous pouvez effectuer ces réglages DNS pour votre serveur via le Cloud Panel en procédant comme suit :

1. Connectez-vous à nouveau sur la [page de connexion du Cloud Panel](https://login.ionos.fr/ "Connexion – IONOS") si ce n’est pas déjà fait.
2. Cliquez sur l’entrée « **Domaines &amp; SSL** ».
3. Appuyez sur l’icône de la roue dentée près de l’entrée du domaine sur lequel vous configurez votre serveur de mail et sélectionnez l’option « **DNS** ».
4. Sélectionnez « **Ajouter un enregistrement** », puis ajoutez les deux entrées suivantes :
- **MX** : Cible = `mail-server.exemple.fr`, Priorité = `10`
- **TXT (SPF)** : Type = `TXT`, Valeur = `v=spf1 mx ~all`

[![Image: IONOS Cloud Panel : ajouter un enregistrement DNS](https://www.ionos.fr/digitalguide/fileadmin/_processed_/3/1/csm_dns-set-up_def12db590.webp "IONOS Cloud Panel : ajouter un enregistrement DNS")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2025/dns-set-up.jpg) Configurez les enregistrements MX et SPF de votre domaine dans le Cloud Panel IONOS pour garantir le bon acheminement des emails. Pour finir, il s’agit d’accepter les modifications en appuyant sur « **Réinitialiser le domaine** » dans le menu supérieur. Confirmez les adaptations effectuées et cliquez sur « **Réinitialiser maintenant** ».

Conseil Vous souhaitez archiver vos emails professionnels en toute sécurité, conformément à la réglementation européenne ? Avec la solution d’[archivage d’emails](https://www.ionos.fr/solutions-bureau/archivage-emails "Archivage d’emails » un logiciel de sécurité conforme au RGPD") de IONOS, vous pouvez automatiser la conservation de vos boîtes de réception dans un format inviolable et conforme au RGPD.

### Étape 5 : générer des clés DKIM

Pour **augmenter le niveau de sécurité** de votre serveur de mail Docker, créez maintenant un enregistrement [DKIM (*DomainKeys Identified Mail*)](https://www.ionos.fr/digitalguide/email/securite-email/dkim-domainkeys/) pour votre domaine. Cette méthode de chiffrement permet de signer numériquement les messages, afin que les serveurs de réception puissent en vérifier l’authenticité.

Pour **générer les clés**, utilisez le fichier de script `setup.sh` qui se trouve dans le répertoire de `docker-mailserver`. Exécutez la commande suivante :

```bash
./setup.sh config dkim
```

La clé publique générée sera enregistrée dans le fichier suivant (à condition que le volume ait été monté correctement) :

```swift
docker-data/dms/config/opendkim/keys/exemple.fr/mail.txt
```

Ouvrez le fichier et copiez son contenu pour créer un enregistrement TXT dans la configuration DNS de votre domaine. L’enregistrement pourrait ressembler à ceci :

```java
mail._domainkey.exemple.fr. IN TXT (
    "v=DKIM1; h=sha256; k=rsa; "
    "p=MIIBIjANBgkqhkiG9w0BAQEFAAOC...continuedPublicKey...IDAQAB"
)
```

- `mail` est le **sélecteur** et peut être nommé comme vous le souhaitez (par exemple : `default`, `key2025`, etc.).
- Si votre fournisseur DNS limite la longueur à 255 caractères par chaîne, vous devrez diviser la clé (comme montré dans l’exemple).
- Assurez-vous que le type d’enregistrement est bien `TXT` et qu’il s’applique au domaine complet : `mail._domainkey.exemple.fr`.

Note En plus de DKIM, pensez également à configurer un enregistrement SPF et un enregistrement DMARC afin d’assurer une protection complète contre l’usurpation d’adresse email.

### Étape 6 : démarrer le serveur de mail Docker et créer votre première adresse

Démarrez le serveur de mail configuré directement depuis le répertoire avec la commande suivante :

```bash
docker-compose up -d
```

Ces instructions vous permettent de mettre en place un environnement de messagerie **sécurisé et efficace**, qu’il soit basé sur des conteneurs modernes ou sur une configuration plus traditionnelle.


This is a markdown version of: [https://www.ionos.fr/digitalguide/email/aspects-techniques/configurer-un-serveur-mail-avec-docker/](https://www.ionos.fr/digitalguide/email/aspects-techniques/configurer-un-serveur-mail-avec-docker/) for AI/LLM consumption.