---
title: Dovecot : serveur IMAP et POP3 sous Debian
source: https://synapx.fr/blog/dovecot/
date: 2026-06-26
category: Email
site: SynapxLab
---

# Dovecot : serveur IMAP et POP3 sous Debian

Site officiel : [www.dovecot.org](https://www.dovecot.org/)

Dovecot est le logiciel qui permet à un utilisateur de consulter et de synchroniser les messages déjà livrés dans sa boîte mail. Il fournit principalement les services IMAP et POP3, gère l'authentification et sait remettre les messages dans le stockage local via LMTP.

Pour replacer chaque composant dans l'ensemble, le guide [comprendre et mettre en place une boîte mail](/blog/boite-mail/) explique le rôle de SMTP, IMAP, POP3, Postfix, Exchange et des newsletters.

Le dossier [Emailing professionnel en 2026](/blog/emailing-professionnel-2026/) traite séparément la diffusion en nombre, la réputation et les retours : Dovecot sert l'accès aux boîtes, il ne pilote ni une campagne ni sa délivrabilité.

> Dovecot n'est pas, à lui seul, un serveur de messagerie complet. Il ne remplace pas le serveur SMTP chargé d'acheminer le courrier entre les domaines.

## Où se place Dovecot dans le trajet d'un e-mail ?

Une architecture Linux classique sépare le transport et l'accès aux messages :

```mermaid
flowchart LR
    A["Client de l'expéditeur"] -->|"SMTP submission<br>587 ou 465"| B["Postfix"]
    B -->|"SMTP entre serveurs<br>port 25"| C["Serveur du destinataire"]
    C -->|"LMTP ou livraison locale"| D["Maildir / mbox / dbox"]
    E["Outlook, Thunderbird,<br>mobile ou webmail"] -->|"IMAP 993<br>ou POP3 995"| F["Dovecot"]
    F --> D
```

- **Postfix** reçoit, met en file d'attente, relaie et livre les messages SMTP.
- **Dovecot** authentifie l'utilisateur et lui présente les messages stockés.
- **Le client de messagerie** affiche les dossiers, rédige les messages et déclenche leur envoi.
- **Le stockage** contient les messages et les index : Maildir, mbox, dbox ou mdbox selon la configuration.

## Dovecot, Postfix et Exchange : trois natures différentes

| Élément | Nature | Fonction principale |
|---|---|---|
| Dovecot | Serveur open source IMAP/POP3/LMTP | Accès aux boîtes, authentification, indexation et livraison locale |
| Postfix | Agent de transport de courrier, ou MTA | Envoi, réception et relais SMTP |
| Exchange | Plateforme de messagerie et de travail collaboratif | Courrier, calendriers, contacts, politiques, accès Outlook et web |
| Boîte mail | Ressource logique et espace de stockage | Adresse, dossiers, messages, quotas et état de lecture |

Exchange peut couvrir dans un seul produit plusieurs fonctions confiées à Postfix, Dovecot, un annuaire et un webmail dans une pile Linux. Il parle aussi SMTP avec les autres serveurs et peut proposer IMAP ou POP3, mais Exchange n'est pas un protocole.

## Un peu d'histoire

Les premiers messages électroniques restaient sur un même ordinateur à temps partagé. Au début des années 1970, le courrier traverse ARPANET et l'adresse `utilisateur@machine` s'impose progressivement. SMTP est normalisé en 1982 pour transporter les messages entre systèmes. POP apparaît en 1984 pour permettre à une station de récupérer le courrier d'un serveur ; IMAP se développe ensuite pour conserver et synchroniser les dossiers côté serveur.

Dovecot arrive au début des années 2000 : ses archives publiques remontent à juillet 2002. Le projet se concentre sur la sécurité, la fiabilité et les performances des services d'accès aux boîtes Unix. Il devient une brique courante des piles de messagerie Linux, généralement associé à Postfix ou Exim.

## IMAP ou POP3 : que sert réellement Dovecot ?

### IMAP : synchroniser une boîte distante

IMAP conserve la référence principale des messages et des dossiers sur le serveur. Le client synchronise les en-têtes, le contenu, les drapeaux de lecture, les suppressions et les déplacements. C'est le choix normal lorsqu'une même boîte est consultée depuis un téléphone, un ordinateur et un webmail.

### POP3 : télécharger une boîte de réception

POP3 suit un modèle plus simple : le client liste et télécharge les messages de la boîte de réception. Historiquement, il pouvait les supprimer du serveur après récupération. Les clients modernes peuvent laisser une copie, mais POP3 ne synchronise pas l'arborescence complète ni les états aussi finement qu'IMAP.

| Critère | IMAP | POP3 |
|---|---|---|
| Port chiffré usuel | 993 | 995 |
| Référence principale | Serveur | Souvent le poste client |
| Dossiers distants | Oui | Non, boîte de réception principalement |
| État lu, déplacé, supprimé | Synchronisé | Gestion locale limitée |
| Plusieurs appareils | Adapté | Peu adapté |
| Usage actuel | Généraliste | Besoin simple, archivage ou environnement ancien |

SMTP n'apparaît pas dans ce choix : SMTP sert à **envoyer et transporter**, tandis qu'IMAP et POP3 servent à **consulter ou récupérer**.

## Les composants internes à connaître

Dovecot sépare plusieurs responsabilités :

- les processus `imap-login` et `pop3-login` acceptent les connexions clientes ;
- le service `auth` vérifie l'identité avec une base de mots de passe, appelée `passdb` ;
- la base utilisateurs, ou `userdb`, retourne l'UID, le GID, le dossier personnel et l'emplacement de la boîte ;
- les processus `imap` et `pop3` donnent accès aux messages après authentification ;
- le service `lmtp` reçoit les messages du MTA et les dépose dans la bonne boîte ;
- les index Dovecot accélèrent les recherches et la synchronisation sans remplacer les messages eux-mêmes.

Pour des utilisateurs système, PAM peut suffire. Pour des domaines et boîtes virtuels, une base SQL ou LDAP est plus courante. Le format Maildir stocke généralement un message par fichier ; mbox regroupe plusieurs messages dans un même fichier ; dbox et mdbox sont des formats propres à Dovecot.

## Installation sous Debian

Installez IMAP et LMTP, puis POP3 uniquement si un besoin réel le justifie :

```bash
sudo apt update
sudo apt install dovecot-core dovecot-imapd dovecot-lmtpd

# Facultatif : accès POP3
sudo apt install dovecot-pop3d

dovecot --version
sudo systemctl status dovecot
```

> **Attention à la version.** Debian 12 fournit Dovecot 2.3, tandis que Debian 13 fournit Dovecot 2.4. La syntaxe 2.3 n'est pas directement compatible avec 2.4. Les exemples de fichiers ci-dessous ciblent Dovecot 2.3 et la structure `/etc/dovecot/conf.d/`. Sur 2.4, partez des fichiers installés par le paquet et suivez le guide officiel de migration.

## Sauvegarder et examiner la configuration

Avant toute modification, conservez le dossier complet et affichez uniquement les valeurs actives :

```bash
sudo cp -a /etc/dovecot "/etc/dovecot.bak-$(date +%F)"
sudo doveconf -n
```

`doveconf -n` est plus utile qu'une simple lecture des fichiers : il montre la configuration finale après les inclusions et permet de repérer une valeur placée au mauvais endroit.

## Configuration minimale de Dovecot 2.3

### Activer les protocoles installés

Dans `/etc/dovecot/dovecot.conf` :

```text
!include_try /usr/share/dovecot/protocols.d/*.protocol
```

Les paquets Debian activent ainsi IMAP, POP3 ou LMTP selon les modules installés. Contrôlez le résultat avec :

```bash
sudo doveconf protocols
```

### Imposer une authentification chiffrée

Dans `/etc/dovecot/conf.d/10-auth.conf` :

```text
disable_plaintext_auth = yes
auth_mechanisms = plain login
```

Les mécanismes `PLAIN` et `LOGIN` ne chiffrent pas eux-mêmes le mot de passe. Ils ne deviennent acceptables que dans une session TLS correctement vérifiée.

### Définir le stockage Maildir

Dans `/etc/dovecot/conf.d/10-mail.conf` :

```text
mail_location = maildir:~/Maildir
```

Pour des boîtes virtuelles, utilisez plutôt un chemin explicite contenant le domaine et l'utilisateur, par exemple `/var/mail/vmail/%d/%n/Maildir`, puis alignez `mail_home`, l'UID, le GID et les permissions retournés par `userdb`.

### Configurer les ports IMAP et POP3

Dans `/etc/dovecot/conf.d/10-master.conf`, cet exemple désactive les ports en clair et conserve les ports TLS implicites :

```text
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}

service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
```

Si POP3 n'est pas installé, laissez son service désactivé au lieu d'ouvrir inutilement le port 995.

### Utiliser un vrai certificat TLS

Dans `/etc/dovecot/conf.d/10-ssl.conf` :

```text
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
```

Remplacez `mail.example.com` par le nom réellement présent dans le certificat. Le certificat auto-signé fourni pour les tests ne convient pas à des clients publics en production.

## Intégration avec Postfix

Le guide [installer et configurer Postfix](/blog/postfix/) détaille la partie SMTP. Deux échanges sont à distinguer :

1. Postfix interroge le service SASL de Dovecot pour authentifier un utilisateur qui soumet un message.
2. Postfix remet le message reçu au service LMTP de Dovecot pour que celui-ci le range dans la bonne boîte.

Dans `/etc/dovecot/conf.d/10-master.conf` :

```text
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0660
    user = postfix
    group = postfix
  }
}
```

Dans `/etc/postfix/main.cf` :

```ini
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
virtual_transport = lmtp:unix:private/dovecot-lmtp
```

L'activation de SASL ne suffit pas à sécuriser un serveur SMTP : le service de soumission doit aussi imposer TLS et n'autoriser le relais qu'aux utilisateurs authentifiés.

## Valider et tester

Validez la syntaxe avant de redémarrer :

```bash
sudo doveconf -n
sudo systemctl restart dovecot
sudo systemctl --no-pager --full status dovecot
sudo ss -ltnp | grep -E ':(993|995)\b'
```

Testez ensuite le certificat et la bannière IMAP :

```bash
openssl s_client -connect mail.example.com:993 -servername mail.example.com -crlf
```

Pour contrôler une authentification sans passer par un client graphique :

```bash
sudo doveadm auth test utilisateur@example.com
sudo doveadm user utilisateur@example.com
```

Le mot de passe demandé par `doveadm auth test` ne doit pas être ajouté à l'historique du shell ni écrit dans la commande.

## Points de sécurité et d'exploitation

- N'exposez que les protocoles réellement utilisés.
- Imposez TLS avec un certificat valide et désactivez les connexions non chiffrées.
- Protégez les fichiers SQL ou LDAP contenant des identifiants de service.
- Surveillez les échecs d'authentification, les quotas, l'espace disque et les files Postfix.
- Sauvegardez les messages, mais aussi les fichiers de contrôle Dovecot ; supprimer les UID Maildir force les clients à tout resynchroniser.
- Testez la restauration, pas uniquement la création des sauvegardes.
- Vérifiez `doveconf -n` après chaque mise à jour majeure, notamment lors du passage de Dovecot 2.3 à 2.4.
