MailHub — Gestionnaire SMTP & e-mails avancé
Module MailHub
MailHub est un module Dolibarr qui centralise et fiabilise l'ensemble des envois d'e-mails. Il intercepte les envois natifs de Dolibarr et les route vers le meilleur connecteur configuré (SMTP, OAuth2, API HTTPS), avec journalisation, connexion de secours automatique, file d'attente asynchrone, alertes multi-canaux et un centre de diagnostic complet. Il fonctionne sur tout hébergement, y compris mutualisé, là où les ports SMTP sont souvent bloqués.
Aperçu
MailHub s'appuie sur les hooks natifs sendMail / sendMailAfter de la classe CMailFile : aucun cœur de Dolibarr n'est modifié. Chaque e-mail sortant est intercepté puis dirigé vers la connexion la plus adaptée en fonction de l'expéditeur et du contexte d'envoi (standard, emailing de masse, tickets, réinitialisation de mot de passe). En cas d'échec de la connexion principale, une connexion de secours prend automatiquement le relais.
Utilisation
Connexions
Depuis MailHub → Réglages → onglet Connexions → Nouvelle connexion, choisir un fournisseur, suivre les liens « Ouvrir la console » / « Doc API » pour récupérer les identifiants, saisir l'expéditeur, cocher « Par défaut », puis enregistrer. Pour un connecteur OAuth, cliquer sur « Connecter » pour autoriser l'accès ; pour les autres, cliquer sur « Tester la connectivité ». Un bloc « Test direct de cette connexion » en bas de la fiche permet d'envoyer un e-mail de test.
Journal des e-mails
Le journal liste tous les envois avec recherche et filtres, aperçu, renvoi unitaire et groupé, export CSV/JSON et purge automatique par lots selon la rétention configurée.
Centre de diagnostic
La page MailHub → Diagnostic vérifie l'environnement PHP, la configuration Dolibarr, les hooks/tables/cron, la connectivité réseau (scan des ports 25/465/587), et la délivrabilité DNS (SPF, DMARC, MX). Le rapport est exportable.
Permissions
MailHub expose 8 droits granulaires, chacun attribuable par utilisateur et par groupe depuis « Utilisateurs & Groupes → onglet Permissions » : Consultation, Diagnostic, Envoi de tests, Renvoi depuis les journaux, Gestion des connexions, Réglages, Suppression/purge des journaux, Export/Import des connexions. On peut ainsi créer un profil « opérateur » ou « gestionnaire d'e-mails » sans donner les droits de super-administrateur.
Fonctionnalités
- Routage par expéditeur et par contexte d'envoi
- Connexion de secours (fallback) automatique
- File d'attente asynchrone (cron) : envoi non bloquant, verrou de concurrence atomique, reprise des envois interrompus, backoff exponentiel
- Auto-désactivation d'une connexion après N échecs consécutifs, avec alerte
- Journal complet : recherche, aperçu, renvoi unitaire et groupé, export CSV/JSON, purge automatique
- Import/Export des connexions au format JSON (migration entre instances)
- Alertes d'échec multi-canaux : e-mail, Slack, Discord, Pushover
- Signature DKIM pour les envois natifs
- Tableau de bord : statistiques, graphique sur 14 jours, ventilation par fournisseur, badges de santé (cron horaire)
- Centre de diagnostic complet
- Mode simulation ; secrets chiffrés au repos (AES) ; jetons CSRF ; tests réseau durcis contre le SSRF
- 8 permissions granulaires par utilisateur et par groupe
- Interface en 10 langues
- Documentation et guides pas-à-pas par opérateur intégrés
Connecteurs supportés
| Connecteur | Type | Remarques |
|---|---|---|
| SMTP | SMTP | Universel, avec préréglages (Gmail, Outlook 365, OVH, IONOS, o2switch, Yahoo, Zoho, Brevo, SES, Mailjet…) |
| PHP mail() | Natif | Dernier recours |
| Google Workspace | OAuth2 | API Gmail, sans port SMTP ni mot de passe stocké |
| Microsoft 365 | OAuth2 | API Microsoft Graph |
| Amazon SES | API HTTPS | Signature AWS V4 |
| SendGrid | API HTTPS | |
| Mailgun | API HTTPS | |
| Brevo | API HTTPS | |
| Postmark | API HTTPS | |
| SparkPost | API HTTPS | Zone US ou EU |
| Elastic Email | API HTTPS | |
| SMTP2GO | API HTTPS | |
| Zoho ZeptoMail | API HTTPS | Zone com / eu / in |
| toSend | API HTTPS |
Tâches planifiées (cron)
Le module installe trois tâches planifiées :
- MailHubPurgeOldLogs — purge des journaux au-delà de la rétention (quotidien).
- MailHubProcessQueue — envoi des e-mails en file (toutes les 5 minutes, si le mode asynchrone est actif).
- MailHubHealthCheck — contrôle de connectivité des connexions actives (horaire).