Guide Joomla v1.0.0

MailGateway route tout le courrier sortant de Joomla vers un pool de passerelles SMTP et API : bascule automatique, disjoncteur et journal de chaque envoi.

Présentation

MailGateway route tout le courrier sortant de Joomla vers un pool de passerelles SMTP et API : bascule automatique, disjoncteur et journal de chaque envoi.

Prérequis

  • Joomla 4.4, 5 ou 6 selon la version du paquet.
  • PHP 8.1 ou version ultérieure recommandée.
  • Une sauvegarde récente avant toute installation ou mise à jour.

Installation

  1. Téléchargez le paquet ZIP sans le décompresser.
  2. Dans Joomla, ouvrez Système → Installation → Extensions.
  3. Déposez le fichier ZIP dans la zone d’installation, puis attendez le message de confirmation.
  4. Ouvrez le composant depuis le menu Composants. Si le paquet contient un plugin, vérifiez son état dans Système → Gestion → Plugins.
  5. Contrôlez les autorisations du composant avant de l’ouvrir aux équipes.

Configuration initiale

  1. Ouvrez le tableau de bord de l’extension.
  2. Accédez aux Options pour définir les réglages globaux.
  3. Attribuez les droits Créer, Modifier, Supprimer et Administrer aux groupes concernés.
  4. Créez un premier élément de test et vérifiez son affichage côté site lorsqu’une vue publique est fournie.
  5. Activez les tâches planifiées ou plugins du paquet uniquement lorsqu’ils sont nécessaires.

Fonctionnalités

Interception complète

Le plugin remplace MailerFactoryInterface dans le conteneur d'injection de dépendances, réamorce Mail::getInstance() par réflexion pour les appelants hérités et rattrape les new Mail() sur l'événement onMailBeforeSend. Aucune extension tierce ne passe à côté.

8 transports opérationnels

SMTP classique et sept API HTTP : SendGrid, Mailgun, Postmark, Brevo, Mailjet, SparkPost et un webhook générique signé. Chaque transport traduit les codes du fournisseur en erreur transitoire ou définitive — c'est ce qui pilote la reprise.

5 stratégies de sélection

Bascule par priorité, tourniquet, pondération, aléatoire, ou routage par domaine destinataire qui enveloppe l'une des quatre autres. Le changement se fait à chaud, sans migration ni redémarrage.

Disjoncteur persistant

Cinq échecs en 60 secondes ouvrent le disjoncteur d'une passerelle. Après 300 secondes il passe en semi-ouvert ; un nouvel échec double le délai, jusqu'à un plafond d'une heure. L'état vit en base : il survit aux requêtes.

Journal en deux temps

La ligne de journal est ouverte au statut sending avant l'émission, puis refermée avec le détail des tentatives, l'identifiant renvoyé par le fournisseur et l'horodatage. Un transport qui se fige reste donc identifiable.

Renvoi et export EML

Renvoyez un message depuis son journal, à travers le pool ou en épinglant une passerelle précise. Exportez une ligne ou toute une sélection au format .eml. Le renvoi est plafonné à 10 actions par minute et par compte.

Installez le paquet

Le paquet déploie le composant et le plugin, crée les quatre tables InnoDB et fixe l'ordre du plugin à −200 pour qu'il s'exécute avant tout autre. Une première passerelle SMTP est même créée depuis vos réglages Joomla existants : le site continue d'envoyer sans intervention.

Déclarez vos passerelles

Un formulaire commun (titre, alias, type, état, priorité, poids) plus un jeu de champs propre à chaque fournisseur. Ajoutez vos règles de domaine, votre limite de débit et votre quota quotidien. Les identifiants sont chiffrés avant écriture.

Premiers usages

  1. Commencez avec un cas simple et des données non sensibles.
  2. Validez le résultat avec l’équipe qui utilisera l’extension.
  3. Documentez les choix propres au site : rôles, automatisations, modèles et intégrations.
  4. Déployez progressivement, puis surveillez les journaux et retours utilisateurs.

Captures d’écran

Interface de Smtp+
Vue de l’interface d’administration de l’extension.
Installation de Smtp+
Écran standard d’installation d’une extension Joomla.

Dépannage

L’extension n’apparaît pas après installation
Vérifiez le message d’installation, l’état du composant et des plugins, puis videz le cache Joomla/WordPress.
Une action est refusée
Contrôlez les droits du groupe utilisateur, le jeton de session et les éventuelles restrictions de sécurité.
Le rendu ne correspond pas au site
Testez avec le cache désactivé, inspectez les substitutions de template et recherchez un conflit CSS ou JavaScript.
Une intégration externe échoue
Vérifiez l’URL, les identifiants, les quotas et les journaux sans copier de secret dans une demande d’assistance.

Mise à jour et désinstallation

Avant une mise à jour, sauvegardez les fichiers et la base de données, lisez les changements de version, puis testez sur une copie du site. Pour désinstaller, exportez d’abord les données utiles. La suppression d’un paquet peut retirer plusieurs composants, modules ou plugins associés.