Joomla ne peut instancier la fonction mail – Réparation

Votre site Joomla ne parvient pas à envoyer de mail ? Paramétrons ensemble quelques points pour régler ce problème.

Premièrement, il faut savoir que la fonction mail de Joomla est désactivée sur les environnements de développement tel que Wamp ou Xampp.

Ainsi, si vous avez installé votre site en local, vous ne pouvez pas envoyer de mail.

Pour preuve, si vous faites le test, vous aurez le message suivant qui s’affichera : Joomla ne peut instancier la fonction mail


Si vous souhaitez être contacté par un développeur Joomla, vous pouvez remplir le formulaire suivant:

Demande d’aide

Maintenance Joomla par un développeur confirmé

 


Test du serveur

Avant de passer en revue la configuration de votre site Joomla, un simple test vous permettra de savoir si le problème vient de votre site ou du serveur.

En effet, nous avons déjà rencontré ce problème d’envoi de mail, puis après avoir passé des heures à chercher, il s’est avéré que ce dysfonctionnement provenait du serveur sur lequel était hébergé le site.

Pour réaliser ce test, copiez simplement ce bout de code en remplaçant l’adresse email par la votre dans un fichier nommé mail.php :

<?php 
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL );
    $from = "VOTREADRESSMAIL@GMAIL.COM";
    $to = "VOTREADRESSMAIL@GMAIL.COM";
    $subject = "Test email Joomla";
    $message = "C'est un email de test provenant de votre site Joomla";
    $headers = "From:" . $from;
    mail($to,$subject,$message, $headers);
    echo "Test email sent";

(Ce code légérement modifié pour notre test, provient du site conetix.)

Copiez ensuite ce fichier à la racine de votre hébergement. (Pour cela utilisez Filezilla).

Rendez-vous ensuite à l’adresse suivante : votre-site.com/mail.php

Résultats:

  • Vous avez reçu un email, c’est donc votre site qui n’est pas correctement configuré
  • Vous n’avez rien reçu, votre serveur est mal configuré, rapprochez-vous de votre hébergeur pour lui signaler le problème

Configuration de la fonction mail dans Joomla

Afin de configurer l’envoi de mails dans Joomla, il est nécessaire de se rendre dans l’administration de votre site.

Les paramètres qui nous intéressent se situe dans la section Système / Configuration.

Le 3ème onglet « Serveur« , nous offre la possibilité de modifier la configuration.

C’est dans la rubrique Réglages e-mail que nous allons effectuer des tests.

Joomla ne peut instancier la fonction mail

Configurations

Si vous aviez reçu le mail de test grâce au fichier mail.php alors vérifiez que:

  • l’envoi de mail soit à Oui
  • l’email du site soit bien le votre
  • Le choix du serveur de mail soit à PHP Mail

Enregistrez les paramètres puis Envoyez un email de test grâce au bouton du formulaire.

Normalement vous devriez avoir le message suivant à l’écran: L’e-mail a bien été envoyé à mon-email@gmail.com utilisant PHP Mail. Vérifier que vous avez reçu l’e-mail de test.

mail joomla

Si le message suivant apparaît de nouveau « Joomla ne peut instancier la fonction mail » , alors vous pouvez contourner le problème en utilisant une configuration SMTP.

Le SMTP (Simple Mail Transfer Protocol) va utiliser la messagerie de votre serveur, contrairement à la fonction PHP Mail qui elle utilise le language PHP pour envoyer un mail.

SMTP JOOMLA

Utilisez le SMTP dans Joomla

Pour résoudre l’erreur « Joomla ne peut instancier la fonction mail« , vous aurez besoins des informations suivantes :

  • Identification SMTP
  • Sécurité SMTP
  • Utilisateur SMTP
  • Mot de passe SMTP
  • Serveur SMTP

Vous pourrez renseigner ces champs en récupérant les informations directement sur votre hébergement.

Que vous soyez chez OVH, 1&1 ou LWS, vous aurez toujours accès à ces configurations dans la rubrique e-mail de votre espace client.