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.
| Attribut | Valeur |
|---|---|
| Nom du module | MailHub |
| Éditeur | TAD-IT & SERVICES (tadit-services.com) |
| Version | 3.2.1 |
| Numéro de module | 340071 |
| Compatibilité | Dolibarr 16.0 → 21.x |
| PHP minimum | 7.1 |
| Licence | GPL v3+ |
| Famille | Interfaçage externes |
| Dolistore | Template:Dolistore |
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.
Prérequis
- Dolibarr 16.0 ou supérieur (testé jusqu'à la 21.x)
- PHP 7.1 ou supérieur (extensions
openssl,curl,mbstring) - Le module « Travaux planifiés » (cron) de Dolibarr pour la file asynchrone, la purge des journaux et le contrôle de santé
- Un accès HTTPS sortant (pour les connecteurs API et OAuth)
Installation
- Aller dans Accueil → Configuration → Modules/Applications, onglet Déployer/installer un module externe.
- Sélectionner le fichier
module_mailhub-3.2.1.zipet le déployer. - Activer le module MailHub. Un menu principal « MailHub » apparaît.
- Activer le module Travaux planifiés de Dolibarr si ce n'est pas déjà fait.
Migration depuis l'ancien module SmtpAvance
À son activation, MailHub reprend automatiquement les données de l'ancien module smtpavance s'il est présent : les tables sont renommées sans perte (ids et secrets chiffrés préservés) et les constantes SMTPAVANCE_* sont recopiées en MAILHUB_*. Procédure recommandée : sauvegarder la base, installer et activer MailHub, vérifier les connexions, puis désactiver et supprimer l'ancien module.
Configuration
La configuration se fait depuis MailHub → Réglages :
- Général : interception/routage, mode simulation, mode debug.
- Envoi asynchrone : activation de la file d'attente et taille des lots traités par le cron.
- Journaux : activation, stockage du corps, durée de rétention.
- Alertes d'échec : e-mail, Slack, Discord, Pushover ; seuil d'auto-désactivation d'une connexion.
- Signature DKIM : activation, domaine, sélecteur et clé privée (constantes cœur
MAIN_MAIL_EMAIL_DKIM_*), pour les envois natifs.
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).
Sécurité
Les secrets (mots de passe SMTP, clés API, secrets OAuth) sont chiffrés au repos via le mécanisme de chiffrement de Dolibarr. Les actions sont protégées par jetons CSRF, les tests réseau sont durcis contre le SSRF (validation des adresses IP, blocage des plages privées/réservées et des adresses de metadata), et les en-têtes e-mail/MIME sont protégés contre l'injection. L'export/import des connexions (qui manipule des secrets déchiffrés) est réservé au droit dédié et journalisé.
Langues
Interface disponible en 10 langues, chacune couvrant l'intégralité des libellés : français, anglais, allemand, espagnol, italien, portugais, néerlandais, russe, chinois simplifié, japonais. La langue suit automatiquement le réglage de l'utilisateur Dolibarr.