Installer et configurer Dovecot
Débutant à expert • Dovecot

Dovecot
Découvrez comment installer et configurer un serveur Dovecot grâce à notre présentation. Dans ce chapitre, vous trouverez toutes les informations nécessaires pour comprendre et mettre en place Dovecot, afin de garantir un serveur de messagerie fiable et performant. De la section de texte en-tête à l’image, suivez nos conseils détaillés et pratiques pour configurer Dovecot selon vos besoins spécifiques. Ne manquez pas cette opportunité d’optimiser votre serveur de messagerie avec Dovecot. Informations, résumés et guides étape par étape vous attendent dans cette page. Explorez dès maintenant notre contenu complet sur l’installation et la configuration de Dovecot pour améliorer votre expérience de messagerie.
Ce que vous apprendrez
- Rappel pour installer Dovecot
- Compréhension des différents fichiers
- Personnalisation du fichier de configuration générale
- Personnaliser le fichier pour MySQL
Chapitre
Tutoriel Dovecot
Ce cours vous permet bien comprendre le jargon de Dovecot. Le temps estimé ci-dessous. Et pour quel niveau de compréhension.
Details
Débutant
3 hrs 00 min
Mise à jour : 29/09/2023
Pré-requis
Installer Apache et php 8.2
PostfixAdmin
Créer un utilisateur vmail
Gestion des droits des groupes
Créer un répertoire pour les domaines et adresses mail
Postfix
Rappel pour installer Dovecot
Pour installer Dovecot nous avons besoin des paquets de Debian.
Ces paquets sont composé de plusieurs modules.
-
dovecot-core
-
dovecot-imapd
-
dovecot-lmtpd
-
dovecot-managesieved
-
dovecot-mysql
-
dovecot-pop3d
-
dovecot-sieve
-
dovecot-submissiond
Les différents fichiers Dovecot
Compréhension du fichier dovecot.conf
Les paquets pré-construits installent généralement les fichiers de configuration dans /etc/dovecot/. Vous trouverez le chemin correct en exécutant : Dans ce fichier nous avons
root@mail#doveconf -n | head -n 1
# 2.3.19.1 (9b53102964): /etc/dovecot/dovecot.conf
Docecot est composé de 3 fichiers d’origines.
- dovecot.conf
- dovecot-dict-auth.conf.ext
- dovecot-sql.conf.ext
Et vous avez 2 dossiers :
- conf.d
- private
Compréhension du fichier dovecot-sql.conf.ext
Nous disposons également d’un fichier appelé dovecot-dict-sql.conf.ext. dovecot-sql.conf.ext, comme son nom l’indique, est utilisé pour informer les éléments de la base de données de MySQL, Pgsql ou Sqlite.
Le répertoire conf.d
Je vous expliquerais un peu plus ce fichier dès que nous serons dans la partie de configuration.
Dans ce dossier, vous avez 22 fichiers qui ont une fonction bien spécifique.
Les chiffres sont l’ordre de priorité.
Je vous les énumères :
- 10-auth.conf
- 10-director.conf
- 10-logging.conf
- 10-mail.conf
- 10-master.conf
- 10-ssl.conf
- 10-tcpwrapper.conf
- 15-lda.conf
- 15-mailboxes.conf
- 20-imap.conf
- 20-pop3.conf
- 90-acl.conf
- 90-plugin.conf
- 90-quota.conf
- auth-checkpassword.conf.ext
- auth-deny.conf.ext
- auth-master.conf.ext
- auth-passwdfile.conf.ext
- auth-sql.conf.ext
- auth-static.conf.ext
- auth-system.conf.ext
- auth-vpopmail.conf.ext
10-auth.conf
10-auth.conf, vous pouvez voir sans ce fichier que c’est un système d’identification de différentes façons. Je vous donne les principaux :
- Système
- sql
- ldap (annuaire)
10-director.conf
10-director.conf, paramètres spécifiques au directeur.
Director peut être utilisé par le proxy Dovecot pour conserver une correspondance temporaire entre l’utilisateur et le serveur de messagerie.
Temporaire.
10-logging.conf
10-logging.conf,
10-mail.conf
10-mail.conf, Emplacement des boîtes aux lettres et espaces de noms.Emplacement des boîtes aux lettres des utilisateurs.
10-master.conf
10-master.conf, vous pouvez ouvrir les différents services et portspop, imap, lmtp, que vous voulez utiliser.
10-ssl.conf
10-ssl.conf, vous activer le certificat de votre domaine soit avec let’s encrypt ou autohébergé pour votre sécurité. Et les différents protocole ssl.
10-tcpwrapper.conf
10-tcpwrapper.conf,
15-lda.conf
15-lda.conf, Le MDA permet de distribuer les courriels, par l’Agent de Distribution Locale (LDA) du MDA.
15-mailboxes.conf
15-mailboxes.conf,
20-imap.conf
20-imap.conf,
20-lmtp.conf
20-lmtp, Protocole Local de Transport des Courriels (LMTP) du MTA qui est une variante locale au serveur de messagerie du SMTP.
20-pop3.conf
20-pop3.conf,
90-acl.conf
90-acl.conf,
90-plugin.conf
90-plugin.conf,
90-quota.conf
90-quota.conf,
auth-checkpassword.conf.ext
auth-checkpassword.conf.ext,
auth-deny.conf.ext
auth-deny.conf.ext,
auth-dict.conf.ext
auth-dict.conf.ext,
Auth-master.conf.ext
auth-master.conf.ext,
Auth-passwdfile.conf.ext
Auth-passwdfile.conf.ext,
Auth-sql.conf.ext
Auth-sql.conf.ext,
Auth-static.conf.ext
Auth-static.conf.ext
Auth-system.conf.ext,
Auth-system.conf.ext,
Installer Dovecot
Vous avez besoin pour installer Dovecot imap, pop, lmtp qui sert pour l’envoie de mail
en rafale, puis mysql pour joindre la base de données
Commande
root@mail#apt install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql
Configurer Dovecot
Création d'un fichier /etc/dovecot/local.conf
Conseil
Pour ne pas perde votre configuration dovecot préconise de créer un fichier que vous appelez local.conf dans le dossier /etc/dovecot.
Dans ce fichier, vous trouvez toute la configuration de Dovecot.
Avant tout, vous comment vous pouvez créer le fichier.
Commande
root@mail:/etc/dovecot#vi ocal.conf
Création d'un fichier /etc/dovecot/local-sql.conf.ext
Conseil
Pour ne pas perde votre configuration Dovecot préconise de créer un fichier que vous appelez local-sql.conf.ext dans le dossier /etc/dovecot.
Je vous conseille de faire un copier coller du fichier original /etc/dovecot/dovecot-sql.conf.ext.
Commande
root@mail:/etc/dovecot# cp dovecot-sql.conf.ext local-sql.conf.ext
root@mail:/etc/dovecot#vi local-sql.conf.ext
Maintenant que vous avez copié les fichiers, vous ouvrez le fichier local.conf toujours dans /etc/dovecot/local.conf.
Dovecot.conf
Dans /etc/dovecot vous avez un fichier qui se nomme dovecot.conf. C’est là que nous que nous pouvons indiquer si nous voulons garder se fichier ou en créant un notre comme local.conf ou dovcot-local.conf.
Nous avons aussi un fichier qui se nomme dovecot-dict-sql.conf.ext.
dovecot-sql.conf.ext comme son nom l’indique c’est pour informer les éléments de la base de données de MySQL, Pgsql ou Sqlite.
Pour mieux comprendre les élément de ce fichier, voici un exemple
Comme je vous ai exipliqué, dovecot.conf est le fichier de la configuration générale.
Pour pouvoir utiliser le fichier local.conf que vous avez créé. Vous devez vérifier si vous avez bien à la fin du fichier !include_try local.conf.
Vous pouvez fermer le fichier.
local.conf
Pour la prise des différents protocoles imap, pop3 et lmtp, Vous ouvrez le fichier local.conf
Commande
root@mail:/etc/dovecot#vi local.conf
Vous allez inscrire deux lignes.
Fichier local.conf
# §Fichier de configuration local.conf de dovecot
#vim /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *, ::
10-auth.conf
Vous ouvrez le fichier qui se trouve dans le répertoire etc/dovecot.conf.d/10-aut.conf
Fichier etc/dovcot/conf.d/10-auth.conf.conf
root@mail:/etc/dovecot#vi /etc/dovecot/conf.d/10-auth.conf
vous copiez les lignes suivantes dans le fichier local.conf :
Fichier etc/dovcot/local.conf
#----------------------------10-auth.conf---------------------------------------------#
#Autorisation des utilisateurs
disable_plaintext_auth = yes
auth_mechanisms = plain login
Créer des fichiers logs pour Dovecot
Vous allez créer trois fichiers log qui vont vous permette de voir si vous avez des erreurs dans la configuration.
Fichier /var/log
root@mail:/etc/dovecot# touch /var/log/dovecot.log
root@mail:/etc/dovecot#touch /var/log/dovecot-info.log
root@mail:/etc/dovecot#touch /var/log/dovecot-debug.log
Ajoutez les logs dans /etc/dovecot/local.conf
Vous allez continuer à remplir ce fichier local.conf pour ajouter les variables des logs.
Ces informations vous les retrouvez dans le fichier /etc/dovecot/10-logging.conf
Fichier etc/dovcot/local.conf
#----------------------------10-logging.conf------------------------------------------#
## Log destination.
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot-info.log
debug_log_path = /var/log/dovecot-debug.log
auth_verbose = yes
auth_debug = yes
mail_debug = no
# Show protocol level SSL errors.
verbose_ssl = yes
Ajouter le répertoire des mails
Vous pouvez vous apercevoir que chaque ligne à une importance.
mail location : vous permet de définir où se trouve le répertoire du domaines qui héberge les Email.
mail uid : c’est l’utilisateur du groupe mail que vous avez créé avant
mail gid : C’est le nom du groupe
Vous devez donner les droits aux utilisateurs linux de se connecter.
le chiffre c’est identifiant de l’utilisateur vmail
first_valid_uid : 8
last_valid_uid :8
le chiffre c’est identifiant du groupe vmail
first_valid_gid :8000
last_valid_gid :8000
Fichier etc/dovcot/local.conf
#----------------------------10-mail.conf--------------------------------------------#
mail_location = maildir:/var/mail/%d/%n/Maildir/
namespace inbox {
inbox = yes
}
# c'est utilisateurs et groupe qui accede aux mails
mail_uid=vmail
mail_gid=vmail
#Identifiant utisateur linux valides pour se connecter
first_valid_uid = 8
last_valid_uid = 8
first_valid_gid = 8000
last_valid_gid = 8000
mail_privileged_group = vmail
Ajouter les services de dovecot
Gestion des services Dovecot
Dovecot gère les ports 993 et 995 pour le pop3Sdans le fichier /etc/dovecot/10-master.conf.
Et /postfix/master.cf gère le port 587 qui est le port de soumission.
Puis aussi le port 465 qui est identifier dans le fichiersous soumissions.
Service auth
Fichier etc/dovcot/local.conf
#----------------------------10-master.conf------------------------------------------#
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
service submission-login {
inet_listener submission {
#port = 587
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
}
user = dovecot
}
service auth-worker {
user = vmail
}
service dict {
unix_listener dict {
}
}
#Configurez Dovecot pour recevoir les emails de Postfix en ajoutant les lignes
#ci-dessous :
service stats {
unix_listener stats-reader {
user =v mail
group = vmail
mode = 0660
}
unix_listener stats-writer {
user = vmail
group = vmail
mode = 0660
}
}
Sécuriser en sll Dovecot
Pour sécuriser votre domaine, vous avez besoin de créer un certificat sll.
Pour créer ce certificat, j’ai utilisé Letsencrypt qui est entièrement gratuit.
Je vous en parle dans la partie des pré-requis. Vous pouvez cliquer sur ce lien.
Pour avoir le cipher, vous devez aller sur le générateur de mozilla. cliquez sur ce lien.
Vous copiez les données qui se trouve en dessous du générateur SSL et les insérés dans le fichier local.conf.
”Fichier
Interroger le nom et le mot de passe de la base de données Mysql
Dovecot à besoin où se trouve la base de données. Vous lui indiquez le chemin où se trouve le fichier. Vous avez créer un fichier qui s’appelle local-sql.conf.ext.
Ce fichier est à cet emplacement /etc/dovecot/local-sql.conf.ext.
Ces informations se trouve dans /etc/dovecot.conf.d/auth.sql.ext.
userdb pour récupérer les informations relatives à l'utilisateur. Elle peut renvoyer des champs :
uid - UID du système (remplace le paramètre mail_uid)
gid - GID du système (remplace le paramètre mail_gid)
home - Répertoire d'origine
mail - Emplacement du courrier (remplace le paramètre mail_location)
Si vous utilisez un UID et un GID uniques, et que le répertoire home ou le répertoire mail correspond à une chaîne modèle, vous pouvez utiliser userdb static à la place.
passdb pour récupérer le mot de passe. Elle peut renvoyer des champs :
# password - Le mot de passe de l'utilisateur. Ce champ doit être retourné.
Fichier etc/dovcot/local.conf
#-----------------------------auth-sql.conf.ext--------------------------------------#
passdb {
driver = sql
args = /etc/dovecot/local-sql.conf.ext
}
#userdb {
# driver = sql
# args = /etc/dovecot/dovecot-sql.conf.ext
#}
userdb {
driver = static
args = uid=mail gid=vmail home=/var/mail/%d/%n/Maildir
}
Connexion à la base de données /etc/dovecot/local-sql.conf.ext

Pour faire la relation entre votre base de données et Dovecot vous devez fournir des informations.
Host : Adresse IP Failover ou local
Dbname : nom de la base de données
user : le nom de l’utilisateur de la base de données
password : mot depas de la base de donées
connect = host=localhost dbname=dovecot user=dovecot password=pwd_dovecot
Redémarrer le service Dovecot
Vous pouvez redémarrer le service de Dovecot, en utilisant la commande systemctl restart + le nom du service.
Commande
root@mail:/etc/dovecot# systemctl restart dovecot
Vos questions
Faq
FAQ
Toutes vos interrogations les plus courantes sur dovecot sont dans la section FAQ, .
Comment installer Dovecot ?
Pour installer dovecot sur une Debian, vous devez utiliser les paquets dovecot-core *-mysql