Files
wiki/Catalogue-Self-Hosted/apps/app-dovecot.md
T
2026-06-09 18:40:21 +02:00

5.3 KiB


title: Dovecot created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, email, imap, pop3, serveur-mail] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Email, https://github.com/dovecot/core]

📧 Dovecot

Le serveur IMAP/POP3 de référence : utilisé par défaut dans mailcow, Mailu, Mail-in-a-Box, iRedMail et des millions d'installations à travers le monde — rapide, sécurisé, extensible.

📋 Informations Générales

Champ Valeur
Site web dovecot.org
GitHub dovecot/core
License LGPL-2.1 (avec exceptions)
Langage C (performances natives)
Étoiles GitHub 1 212
Catégorie cat-email
Mainteneur Dovecot OY (société finlandaise, support commercial dispo)

📝 Description

Dovecot est né en 2002 en Finlande comme alternative plus rapide et sécurisée au serveur IMAP Cyrus. Vingt ans plus tard, c'est LE serveur IMAP/POP3 open source dominant sur l'internet — choisi par défaut dans la plupart des stacks mail self-hosted (mailcow, Mailu, iRedMail, Mail-in-a-Box, Zimbra, etc.).

Fonctionnalités :

  • IMAP4rev1, POP3, ManageSieve, LDA/LMTP : protocoles standards
  • Mailbox formats : Maildir, mdbox, sdbox (formats propriétaires optimisés)
  • Authentification : PAM, passwd, shadow, LDAP, SQL, OAuth2, passkey
  • Quotas : par utilisateur, par domaine
  • Filtres Sieve : côté serveur (tri, redirection, vacation)
  • Full-text search : intégré via FTS plugin (Squid, Solr)
  • Plugins : quota, expire, notify (push mail), fts, sieve, antispam
  • OAuth2 : moderne, supporte Google/Microsoft/Authentik
  • Push mail : extension IDLE + notifications push mobiles (via Pigeon/Mailpiler)

Forces :

  • Performances : écrit en C, gère des millions de boîtes
  • Sécurité : auditée, chroot, séparation de privilèges
  • Compatibilité : fonctionne avec Postfix, Exim, Sendmail, OpenSMTPD
  • Documentation : excellente, wiki complet
  • Support commercial : Dovecot OY propose du support payant
  • Écosystème de plugins : énorme (Pigeon, OX Dovecot Pro, etc.)

Faiblesses :

  • Pas de MTA intégré : à coupler avec Postfix, Exim ou Stalwart
  • Pas de webmail : il faut Roundcube, SnappyMail, etc. par-dessus
  • Configuration verbeuse : beaucoup de fichiers (dovecot.conf, conf.d/*)
  • Pas de gestion utilisateurs native : à déléguer à LDAP/SQL/PostfixAdmin

🚀 Installation

Via Docker (image officielle)

# docker-compose.yml
version: '3.8'
services:
  dovecot:
    image: dovecot/dovecot:latest
    container_name: dovecot
    restart: unless-stopped
    environment:
      - DOVECOT_HOSTNAME=mail.example.com
    volumes:
      - ./config:/etc/dovecot
      - ./mail:/var/mail
      - ./ssl:/etc/ssl/dovecot
    ports:
      - "143:143"    # IMAP
      - "993:993"    # IMAPS
      - "4190:4190"  # Sieve

Installation manuelle (Debian/Ubuntu)

sudo apt update
sudo apt install dovecot-core dovecot-imapd dovecot-lmtpd dovecot-sieve
sudo systemctl enable --now dovecot
# Config dans /etc/dovecot/dovecot.conf et /etc/dovecot/conf.d/*
# Cert TLS : placer dans /etc/ssl/dovecot/

⚙️ Configuration

  1. Mailbox : choisir Maildir (simple) ou mdbox (scalable)
  2. Auth : configurer la source (passwd, LDAP via dovecot-ldap.conf.ext, SQL via dovecot-sql.conf.ext)
  3. SSL/TLS : générer ou installer un certificat Let's Encrypt, activer ssl = required
  4. Couplage MTA : Postfix/Exim utilise Dovecot pour l'authentification SASL + LDA/LMTP
  5. Plugins recommandés : quota, expire (nettoyage auto Trash), fts, sieve, notify, antispam

🔗 Alternatives

  • Stalwart — Serveur mail complet (MTA + IMAP + JMAP) en Rust, moderne
  • Cyrus IMAP — Concurrent historique, plus utilisé
  • Courier IMAP — Plus simple mais moins maintenu
  • James (Apache) — Serveur mail Java complet (MTA + IMAP + Sieve)

🔒 Sécurité

  • SSL/TLS obligatoire : forcer ssl = required et désactiver les protocoles faibles
  • Auth fail2ban : jail dédiée sur /var/log/mail.log (filtre dovecot côté regex)
  • Chroot : activable via mail_chroot = /var/mail
  • Plugins sécurité : antispam (entraînement Bayes), allow_nets (restriction IP)
  • Audit : auth_verbose = yes temporairement pour debug
  • Mises à jour : suivre les CVE, releases fréquentes

📚 Ressources

Pages Liées