Développement Web

Créer boîtes mail, alias et groupes Mailcow : tutoriel pratique 2026

11 min de lecture

📍 Article principal de la série : Mailcow 2026 : guide pratique.

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.comamadou.diop@..., fatou.sarr@...
  • support@votre-entreprise.comsupport-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 :

  1. Créer template HTML signature.
  2. Distribuer via email de bienvenue.
  3. 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

Ce qui dévie dans la pratique locale

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.

Lectures complémentaires

Etape 1 : Cartographier vos besoins de boites avant tout clic dans Mailcow

Avant d'ouvrir l'interface Mailcow, listez sur papier ou dans un tableur trois colonnes : boites individuelles (un humain, un mot de passe), alias (une adresse qui redirige vers une ou plusieurs boites existantes, sans stockage propre) et groupes (une adresse de diffusion pour une equipe). Cette cartographie evite la dette de configuration que vous payez ensuite chaque fois qu'un collaborateur arrive ou part. Pour une PME de 12 personnes a Dakar, comptez environ 12 boites, 6 a 10 alias fonctionnels (contact@, facturation@, support@, rh@, direction@, devis@) et 2 a 4 groupes par departement.

Resultat attendu : un tableau a trois colonnes pret a saisir. Si vous depassez 30 alias avant 10 boites reelles, c'est un signal que vous devriez plutot creer un groupe ou utiliser un catch-all temporaire.

Etape 2 : Se connecter a Mailcow et ouvrir le panneau Configuration / Domaines

Connectez-vous a votre instance Mailcow avec le compte admin (par defaut admin / mot de passe defini lors de l'installation). Le panneau d'admin est generalement sur https://mail.votredomaine.sn/admin. Allez dans le menu superieur Configuration puis E-mail puis Domaines. Verifiez que votre domaine est bien actif (toggle vert) avant de creer la moindre boite.

# Verification rapide du conteneur Mailcow depuis SSH
docker compose ps | grep mailcow
docker compose logs --tail=50 nginx-mailcow

Sortie attendue : tous les conteneurs Up depuis plusieurs heures. Un conteneur en boucle de redemarrage signale un probleme TLS ou de quota disque a regler avant de continuer.

Etape 3 : Creer une boite individuelle (mailbox) propre

Dans Configuration puis E-mail puis Boites aux lettres, cliquez sur Ajouter une boite. Renseignez : nom d'utilisateur (partie avant @), domaine, nom complet, mot de passe (16 caracteres minimum, generez-le avec pwgen -s 20 1), quota (5 Go pour un usage standard, 20 Go pour un commercial qui recoit des PJ lourdes), et activez TLS forcing.

# Generation d'un mot de passe robuste avant saisie
pwgen -s 20 1
# Sortie type : K8mNp2Lq9Rt4Wx7Yz1Bv

Pourquoi 20 caracteres : Mailcow expose IMAP, SMTP et le webmail en HTTPS, donc un brute-force sur un mot de passe a 8 caracteres prend quelques heures avec un botnet residentiel. Apres creation, la boite apparait dans la liste avec un badge vert Active.

Etape 4 : Ajouter un alias simple (une adresse, une destination)

Allez dans Configuration puis E-mail puis Alias et cliquez sur Ajouter un alias. Saisissez l'adresse source (par exemple contact@votredomaine.sn) et la destination (la boite reelle qui recoit, par exemple amadou@votredomaine.sn). Aucun mot de passe, aucun stockage : c'est juste une regle de routage SMTP.

Cas d'usage typique en Afrique de l'Ouest : facturation@ redirige vers la comptable, devis@ vers le commercial, rh@ vers la DRH. Avantage : si la personne change, vous modifiez l'alias en 5 secondes sans toucher a aucun client externe.

Etape 5 : Creer un alias multi-destinataires (un alias = un mini-groupe)

Toujours dans Alias, vous pouvez separer plusieurs destinations par une virgule : support@votredomaine.sn redirige vers amadou@, fatou@ et moussa@. Tous les destinataires recoivent une copie. C'est la solution la plus rapide pour une equipe de 2 a 5 personnes qui partagent une adresse fonctionnelle.

Limite a connaitre : si l'equipe depasse 6 personnes ou si vous voulez un historique partage, passez plutot par un groupe (etape suivante) ou par une boite partagee avec acces IMAP multi-utilisateurs.

Etape 6 : Creer un groupe (mailing list interne) avec mlmmj integre

Mailcow embarque mlmmj pour les listes de diffusion. Allez dans Configuration puis E-mail puis Listes. Creez une liste equipe-dakar@votredomaine.sn, ajoutez les abonnes (les boites internes), choisissez Owner (un admin), et activez la moderation si la liste recoit des messages externes. Les abonnes peuvent se desabonner via un lien automatique dans le pied de page.

# Verifier que mlmmj est actif dans Mailcow
docker compose ps | grep mlmmj
# Doit afficher : mailcowdockerized-mlmmj-mailcow-1   Up

Differences avec un alias multi-destinataires : un groupe gere les desabonnements, garde un historique d'archives et applique des filtres anti-spam dedies. C'est le bon choix pour annonces@, devs@ ou une newsletter interne.

Etape 7 : Configurer un catch-all temporaire pour ne rien perdre pendant la migration

Si vous migrez d'un ancien fournisseur (Workspace, OVH, Zoho), creez un alias *@votredomaine.sn qui pointe vers une boite migration@. Tout courrier envoye a une adresse non encore creee atterrira la, vous laissant le temps de creer la vraie boite ou le vrai alias. Desactivez ce catch-all des que la migration est stable, sinon vous attirez le spam.

Conseil : limitez la duree du catch-all a 30 jours maximum. Mettez un rappel dans votre agenda.

Etape 8 : Tester de bout en bout depuis trois clients differents

Avant de communiquer les nouvelles adresses, testez : envoyez depuis Gmail vers la boite, depuis la boite vers Outlook, depuis l'alias vers une boite Yahoo. Verifiez les en-tetes (Show original dans Gmail) et confirmez que SPF, DKIM et DMARC sont en PASS. Sur mobile, configurez IMAP mail.votredomaine.sn port 993 SSL et SMTP port 587 STARTTLS.

# Test SMTP depuis le serveur lui-meme
swaks --to test@gmail.com --from contact@votredomaine.sn   --server mail.votredomaine.sn --port 587 --tls   --auth-user contact@votredomaine.sn --auth-password 'MotDePasse'

Sortie attendue : 250 2.0.0 Ok: queued et reception cote Gmail en moins de 30 secondes. Tarification indicative pour un VPS Mailcow chez un hebergeur europeen : 8 a 15 EUR/mois (5 250 a 9 840 FCFA, taux 1 EUR = 655,957 FCFA).

Etape 9 : Documenter la convention de nommage et former l'equipe

Redigez une page interne (Notion, Outline, Confluence ou simple PDF) listant : qui possede quelle boite, quels alias pointent ou, qui est dans quel groupe, qui peut creer/supprimer une boite. Sans cette doc, dans 6 mois personne ne saura pourquoi partenaires@ redirige vers une ex-collaboratrice.

Dans la continuité, voyez aussi notre guide DNS Mailcow (SPF, DKIM, DMARC) pour verrouiller la deliverabilite, et notre tutoriel sur le choix d'un VPS adapte au mail self-hosted depuis Dakar, Abidjan ou Cotonou.

Etape 10 : Mettre en place une rotation periodique des mots de passe

Tous les 90 jours pour les boites sensibles (direction, comptabilite, RH) et tous les 180 jours pour les autres, planifiez une rotation. Mailcow ne force pas la rotation par defaut, vous devez creer un rappel calendrier ou utiliser un script qui marque les comptes avec un mot de passe ancien. Communiquez le nouveau mot de passe via un canal hors-bande (appel, WhatsApp chiffre, en main propre), jamais par mail dans la boite concernee.

# Lister les boites et leur date de derniere modification de mot de passe via l'API Mailcow
curl -s -H "X-API-Key: VOTRE_CLE_RO"   https://mail.votredomaine.sn/api/v1/get/mailbox/all | jq '.[] | {username, last_pw_change}'

Sortie attendue : un JSON listant chaque boite et la date du dernier changement. Filtrez les entrees de plus de 90 jours pour identifier les comptes a faire tourner.

Etape 11 : Sauvegarder regulierement la configuration et les boites

Mailcow fournit un script helper-scripts/backup_and_restore.sh qui sauvegarde les volumes Docker (boites IMAP, base SQL, certificats, configuration). Lancez-le chaque nuit via cron vers un stockage externe (S3, Backblaze B2, Wasabi, ou disque NAS local). Sans cette sauvegarde, une corruption du volume Vmail signifie la perte totale des courriers, alias et groupes.

# Cron quotidien a 3h du matin
0 3 * * * cd /opt/mailcow-dockerized &&   MAILCOW_BACKUP_LOCATION=/mnt/backups ./helper-scripts/backup_and_restore.sh backup all --delete-days 14

Verifiez chaque mois que vous savez restaurer. Une sauvegarde non testee n'est pas une sauvegarde. Comptez 2 a 5 EUR par mois (1 312 a 3 280 FCFA) pour 100 Go de stockage Backblaze B2 utilise comme cible de backup.

Etape 12 : Surveiller la deliverabilite et l'usage disque dans la duree

Activez les rapports DMARC en envoyant un mail hebdomadaire au RUA configure. Surveillez aussi l'occupation disque du volume Vmail : depasser 80 pour cent declenche des rejets SMTP. Mailcow expose des metriques Prometheus que vous pouvez brancher sur Grafana pour visualiser le trafic, les rebonds et les pics de spam.

# Verification rapide de l'usage disque du volume mail
docker volume inspect mailcowdockerized_vmail-vol-1   --format '{{ .Mountpoint }}' | xargs du -sh

Sortie attendue : une taille en Go. Si vous depassez 70 pour cent du quota du serveur, planifiez l'extension du volume avant que les boites ne se bloquent en reception. Une PME de Dakar avec 15 boites consomme typiquement 30 a 80 Go au bout de 18 mois d'usage.

Partager