MailHub — Gestionnaire SMTP & e-mails avancé

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

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.


01 cover.png


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).