Introduction
Mailcow: dockerized est la solution de référence pour héberger son propre serveur mail sans la complexité de configurer Postfix/Dovecot à la main. Vous obtenez :
- Comptes mail illimités sur plusieurs domaines
- Webmail SOGo (interface moderne)
- Calendrier CalDAV et carnet d'adresses CardDAV
- Antispam Rspamd (très efficace)
- Antivirus ClamAV
- DKIM/SPF/DMARC configurés automatiquement
- Quotas, alias, listes de diffusion
Prérequis
- VPS Debian 12 ou Ubuntu 22.04+ avec minimum 6 GB RAM et 80 GB de disque
- Docker et Docker Compose installés
- rDNS configuré (impératif, demandez à VeryCloud via ticket si pas déjà fait)
- Ports 25, 80, 110, 143, 443, 465, 587, 993, 995, 4190 ouverts
- Un nom de domaine et le contrôle de ses DNS
- Port 25 sortant non bloqué (vérifiez avec
telnet smtp.gmail.com 25)
Étape 1 : Préparer le système
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git
Vérifiez que le hostname est correctement défini :
sudo hostnamectl set-hostname mail.votre-domaine.com
Étape 2 : Cloner Mailcow
cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
Étape 3 : Générer la configuration
sudo ./generate_config.sh
Le script demande :
- Mail server hostname (FQDN) :
mail.votre-domaine.com - Timezone :
Europe/Paris - Branche :
master
Un fichier mailcow.conf est créé. Vous pouvez l'éditer pour ajuster les ports si nécessaire (par exemple si Nginx tourne déjà sur 80/443).
Étape 4 : Démarrer la stack
sudo docker compose pull
sudo docker compose up -d
Le premier lancement prend 5-10 minutes (téléchargement de ~3 GB d'images).
Vérifiez :
sudo docker compose ps
Tous les conteneurs doivent être Up ou healthy.
Étape 5 : Configurer les enregistrements DNS
C'est la partie critique. Chez votre registrar (OVH, Gandi, Cloudflare, etc.), ajoutez :
Type Nom Valeur
A mail IP_DE_VOTRE_VPS
A autodiscover IP_DE_VOTRE_VPS
A autoconfig IP_DE_VOTRE_VPS
MX @ 10 mail.votre-domaine.com
TXT @ "v=spf1 mx -all"
TXT _dmarc "v=DMARC1; p=reject; rua=mailto:[email protected]"
L'enregistrement DKIM se génère depuis l'interface Mailcow à l'étape suivante.
Étape 6 : Première connexion à l'admin
Ouvrez :
https://mail.votre-domaine.com
Identifiants par défaut :
- Utilisateur :
admin - Mot de passe :
moohoo
Changez immédiatement le mot de passe dans Access → Edit administrator.
Étape 7 : Ajouter un domaine et un utilisateur
Configuration → Mail Setup → Domains → Add domain :
- Domain :
votre-domaine.com - Description :
Domaine principal - Aliases : 400 (par défaut)
- Mailboxes : 10 (selon votre besoin)
- Domain quota : 10240 MB
Validez. Mailcow génère automatiquement la clé DKIM.
Configuration → Mail Setup → Mailboxes → Add mailbox :
- Username :
contact - Domain :
votre-domaine.com - Full name :
Contact - Password : choisissez un mot de passe fort
- Quota : 1024 MB
Vous avez désormais l'adresse [email protected].
Étape 8 : Configurer DKIM dans les DNS
Dans Configuration → Mail Setup → Configuration → ARC/DKIM keys, copiez la clé DKIM affichée et ajoutez-la dans votre DNS :
Type Nom Valeur
TXT dkim._domainkey "v=DKIM1; k=rsa; p=MIGfMA0GC..."
Attendez quelques minutes la propagation.
Étape 9 : Tester l'envoi et la réception
Connectez-vous au webmail SOGo :
https://mail.votre-domaine.com/SOGo/
Envoyez un mail de test vers votre adresse Gmail/Outlook. Le mail doit arriver dans la boîte de réception (pas en spam).
Vérifiez votre score avec mail-tester.com :
- Envoyez un mail à l'adresse aléatoire qu'ils donnent
- Cliquez sur "Then check your score"
- Objectif : 10/10
Étape 10 : Configurer un client mail
Sur Outlook, Thunderbird ou iOS/Android, utilisez les paramètres autodiscover qui se configurent automatiquement.
Configuration manuelle (IMAP/SMTP) :
IMAP : mail.votre-domaine.com Port 993 SSL/TLS
SMTP : mail.votre-domaine.com Port 587 STARTTLS
Utilisateur : [email protected]
Dépannage
Mails reçus mais pas envoyés
Le port 25 sortant est sûrement bloqué par VeryCloud (mesure anti-spam standard). Ouvrez un ticket support pour demander son déblocage en justifiant votre usage.
Mails arrivent en spam
Vérifiez :
dig +short TXT votre-domaine.com
dig +short TXT _dmarc.votre-domaine.com
dig +short TXT dkim._domainkey.votre-domaine.com
Les trois doivent répondre. Sinon, les enregistrements DNS ne sont pas correctement configurés.
Vérifiez le rDNS :
dig +short -x IP_DE_VOTRE_VPS
Doit retourner mail.votre-domaine.com. Si ce n'est pas le cas, configurez-le dans l'espace client VeryCloud ou demandez au support.
Conteneur unhealthy
sudo docker compose logs CONTENEUR_NOM --tail 100
Le plus souvent : manque de RAM. Mailcow demande 6 GB minimum.
Commandes utiles
# Statut des conteneurs
sudo docker compose ps
# Logs d'un service
sudo docker compose logs -f postfix-mailcow
sudo docker compose logs -f rspamd-mailcow
# Mettre à jour Mailcow
cd /opt/mailcow-dockerized
sudo ./update.sh
# Sauvegarder
sudo ./helper-scripts/backup_and_restore.sh backup all
# Restaurer
sudo ./helper-scripts/backup_and_restore.sh restore
# Redémarrer toute la stack
sudo docker compose down && sudo docker compose up -d
Conclusion
Vous avez maintenant un serveur mail professionnel auto-hébergé sur votre VPS VeryCloud, avec toutes les fonctionnalités d'un Gmail/Office 365 et sans frais récurrents par utilisateur. Points importants à retenir :
- Surveillez les blacklists (mxtoolbox.com)
- Sauvegardez régulièrement (les emails sont précieux)
- Mettez à jour Mailcow tous les mois (
./update.sh) - Une IP "neuve" met 1-2 semaines à se chauffer pour ne plus tomber en spam
Ressources
- Site officiel : https://mailcow.email
- Documentation : https://docs.mailcow.email
- GitHub : https://github.com/mailcow/mailcow-dockerized
- Test de score : https://www.mail-tester.com


















