📍 Article principal du cluster : Mailcow 2026 : guide complet.
Mailcow installé, DNS configuré, premier test envoi/réception OK. Étape suivante : créer 30-50 boîtes mail pour votre équipe efficacement, configurer alias génériques (contact@, support@, info@), groupes par département, quotas équilibrés. Ce tutoriel détaille la procédure validée chez plusieurs PME francophones.
Prérequis
- Mailcow en production avec premier domaine ajouté.
- DNS validé (voir tutoriel DNS).
- Liste des employés avec emails à créer.
- Niveau attendu : intermédiaire.
- Temps estimé : 1-2 heures pour 30 boîtes.
Étape 1 — Convention de nommage
Convention recommandée pour PME francophone :
prenom.nom@entreprise.com: standard professionnel.p.nom@entreprise.com: plus court, alternative.- Éviter
nom@seul (homonymes). - Alias :
contact@, info@, support@, ventes@redirigés.
Étape 2 — Création boîte unitaire
Mailcow admin → Configuration → Mail Setup → Mailboxes → Add Mailbox.
- Username :
amadou.diop. - Domain :
votre-entreprise.com. - Full name : Amadou Diop.
- Password : généré 14+ caractères.
- Quota : 5120 MB.
- Active : oui.
- Force password change at next login : oui.
Étape 3 — Création bulk via API
Pour 30 boîtes, l’API Mailcow gagne du temps. Générer API key dans Configuration → Access → API.
#!/bin/bash
API_KEY="votre-api-key"
DOMAIN="votre-entreprise.com"
MAILCOW="https://mail.votre-entreprise.com"
while IFS=, read -r prenom nom; do
USERNAME="${prenom}.${nom}"
PASSWORD=$(openssl rand -base64 12)
curl -X POST "${MAILCOW}/api/v1/add/mailbox" \
-H "X-API-Key: ${API_KEY}" \
-H "Content-Type: application/json" \
-d "{
\"local_part\": \"${USERNAME}\",
\"domain\": \"${DOMAIN}\",
\"name\": \"${prenom} ${nom}\",
\"password\": \"${PASSWORD}\",
\"password2\": \"${PASSWORD}\",
\"quota\": \"5120\",
\"active\": \"1\",
\"force_pw_update\": \"1\"
}"
echo "${USERNAME}@${DOMAIN}: ${PASSWORD}"
done < employees.csv
Format employees.csv : amadou,diop (une ligne par employé). Sortie redirigée vers fichier sécurisé pour distribuer credentials initiaux.
Étape 4 — Alias génériques
Configuration → Mail Setup → Aliases → Add Alias.
contact@votre-entreprise.com→amadou.diop@..., fatou.sarr@...support@votre-entreprise.com→support-team@...(groupe).info@→contact@.noreply@→ discard (silencieux, pas de retour).postmaster@→ admin (obligatoire RFC 2142).abuse@→ admin (obligatoire RFC 2142).
Étape 5 — Groupes (alias multiples)
Pour distribuer email à toute l'équipe :
Alias : equipe-tech@votre-entreprise.com
Goto : amadou.diop@..., fatou.sarr@..., ousmane.fall@...
Alias : equipe-marketing@votre-entreprise.com
Goto : aicha.dia@..., moussa.ndiaye@..., khadija.fall@...
Email envoyé à equipe-tech@ distribue aux 3 destinataires.
Étape 6 — Quotas par rôle
Recommandations PME 25 personnes :
- Direction : 20 GB par boîte.
- Manager : 10 GB.
- Employé : 5 GB.
- Stagiaire : 1 GB.
- Comptes service (noreply, alerts) : 100 MB.
Étape 7 — Filtres anti-spam et listes noires
Mailcow utilise Rspamd. Configuration via admin :
- Configuration → Configuration & Details → Edit Rspamd → Maps.
- Whitelist domains : partenaires de confiance.
- Blacklist domains : spammeurs récurrents.
- Score thresholds : tuner si trop de faux positifs.
Étape 8 — Autoresponders
Pour congés, auto-reply absence :
User Account (SOGo) → Preferences → Vacation
Active : oui
Auto-reply text : "Je suis en congé du DD/MM/YYYY au DD/MM/YYYY..."
Auto-reply ends : DD/MM/YYYY
Étape 9 — Signatures partagées
SOGo permet signature personnelle par utilisateur. Pour signature corporate cohérente :
- Créer template HTML signature.
- Distribuer via email de bienvenue.
- Chaque user copie dans Settings → Signature.
Pour automation : plugin commercial Mailcow ou script générer .vcf.
Étape 10 — Mots de passe initiaux et 2FA
Distribution sécurisée des credentials :
- Vaultwarden Send (lien temporaire chiffré, expiration 24h).
- WhatsApp Business chiffré.
- Présentiel pour management.
Au premier login, force password change. Encourager 2FA via SOGo Settings.
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| API 401 | Read-only key | Générer Read/Write key |
| Quota dépassé silencieux | Pas d'alerte configurée | Configuration → Quota notifier |
| Alias conflit avec mailbox | Même local_part | Mailbox prioritaire, alias échoue |
| Groupes spam Gmail | SPF strict | Vérifier que From rester domaine origine |
| Bulk import lent | API single-thread | Bash & avec sleep 0.5 |
| SOGo crash login | Memcached pas démarré | docker compose restart memcached |
Adaptation au contexte ouest-africain
Trois précisions. Caractères spéciaux français/arabes : éviter dans username (compatibilité). Utiliser nom transcrit (Khadija Fall = khadija.fall, pas with é). Aliases multilingues : contact@ + contact-fr@ + contact-ar@ pour clientèle bilingue. Quotas réalistes : pour pays avec connexion limitée, encourager désactivation auto-download images dans clients mail (économie data 4G).
Tutoriels frères
FAQ
Limite boîtes Hetzner CX22 ? 80-100 boîtes confortable. Au-delà CX42.
Multiple domaines, partage utilisateurs ? Oui via aliases. Une boîte amadou@dom1.com peut recevoir aussi amadou@dom2.com.
Catch-all ? Possible mais risque spam. Mieux : aliases explicites.
Calendar partagé ? SOGo gère calendar partagé entre users. CalDAV standard.
Migration users existants ? imapsync, voir tutoriel migration.
Pour aller plus loin
- 🔝 Retour au pilier : Guide complet Mailcow 2026
- Documentation API : docs.mailcow.email/api