Envoi mail php ne fonctionne pas

Bonjour,

Je souhaiterais envoyer un mail de confirmation suite à une inscription mais rien ne s’envoie et la fonction renvoie bien false. Sur un autre hébergeur (ovh) l’envoi fonctionne. Sauriez-vous d’où peut venir le problème? Y’a-t-il quelque chose de particulier à faire? J’ai un temps limité pour faire cela et je commence vraiment à désespérer.

PS : Je suis novice en php.

Bonjour,

La fonction mail() est assez (très) difficile à utiliser !
Si la fonction renvoie false, c’est que le message n’a pas pu être envoyé.
Pour déterminer la cause de l’échec, utilise error_get_last : insère la ligne
print_r(error_get_last());
immédiatement après la ligne mail();.

Bonjour,

Merci pour votre réponse.

J’ai essayé de faire ça mais aucune erreur ne s’affiche et mon envoie est toujours à false.

L’erreur s’affiche au rechargement de la page.
Pour mettre le message plus en évidence essaie :

echo “<hr><pre>”;
print_r(error_get_last());
echo "</pre><hr>;

Sinon, il faudrait en savoir davantage sur la composition des paramètres que tu envoie dans la fonction mail().

Ca ne fonctionne toujours pas.

Voilà le code (j’ai bien sûr remplacé les adresses email et noms pour poster ici) :

require("php/protego/bdd.inc");
$header = "MIME-Version: 1.0\r\n";
$header .= 'From:"Nom_du_site"<nom_du_site@ouvaton.org>'."\n" ;
$header .= 'Content-Type:text/html; charset="utf-8"'."\n";
$header .= 'Content-Transfer-Encoding: 8bit';

var_dump(mail('adresse@gmail.com', "Sujet", 'Message', $header));
print_r(error_get_last());

Je ne suis pas, non plus, un grand spécialiste de php mais il me semble que :

  • Il faut mettre systématiquement “\r\n” à la fin de chaque ligne.
  • Il faut mettre “\r\n\r\n” à la fin de la dernière. Chez toi, il n’y a rien… et tout vient peut-être de là !
  • Personnellement, j’utilise charset=“ISO-8859-1” plutôt que “utf-8”.

Si un spécialiste passe par là, il pourra confirmer. Ou infirmer !

J’ai essayé et encore une fois ça fonctionne très bien sur ovh mais pas sur ouvaton.

require(“php/protego/bdd.inc”);
$header = “MIME-Version: 1.0\r\n”;
$header .= ‘From:"Nom_du_site"nom_du_site@ouvaton.org’."\r\n" ;
$header .= ‘Content-Type:text/html; charset=“ISO-8859-1”’."\r\n";
$header .= ‘Content-Transfer-Encoding: 8bit’."\r\n\r\n";

var_dump(mail(‘adresse@gmail.com’, “Sujet”, ‘Message’, $header));
print_r(error_get_last());

À tout hasard, …1.0"."\r\n"; à la fin de la première ligne.

Sinon, est-ce que ça fonctionne en format texte : mail(‘adresse@gmail.com’, “Sujet”, “Message”); ?

J’ai essayé et toujours rien sur ouvaton… Ça pourrait être une question d’autorisation?

Si ça ne fonctionne pas au format texte, c’est que la fonction mail() a été désactivée (ou autre limitation).
Attends qu’un administrateur passe par là, ça ne devrait pas tarder. Sinon ouvre un ticket d’assistance.

En faisant phpinfo(), je remarque que sendmail_from est à “no value”, est-ce que ça pourrait être lié?
Aussi, j’ai essayé d’ajouter -f $from comme décrit ici mais cela ne marche toujours pas.

Personne n’aurait de solution?

Bonjour,

Quel est le site concerné (vous pouvez me le communiquer via un message privé si besoin) ?

Bonjour,

Visiblement je n’ai pas l’autorisation de vous envoyer de message privé…
Le site est robindesbois.ouvaton.org.
J’espère que vous aurez une solution, c’est pour un projet de master et c’est vraiment très important… :frowning:

Merci d’avance !

Bonjour,

Il y a en effet un problème curieux, la fonction mail() est ok, mais visiblement le mail est distribué uniquement si l’adresse de destination est hébergée chez Ouvaton.

Je signale le problème à notre infogérant.

Merci beaucoup ! Savez-vous quand le problème pourrait être résolu?
Aussi j’ai quelques problèmes de php (déconnexion qui ne se fait pas par moment ou connexion qui revient bien qu’avoir été déconnecté juste avant). Si quelqu’un à une idée pour me mettre sur la voie je suis preneuse :slight_smile:

Bonjour,
J’ai le même pb pour le site. Comment le gérer, rien ne l’indique dans les anciens messages…
Merci
Michel

Bonjour @Michel, quel est le site concerné ?

Le problème est réglé sur le site plus haut (et sur un autre évoqué dans un ticket d’assistance), mais je n’ai pas eu de retour d’une éventuelle intervention. Du coup je ne sais pas s’il s’agit d’un bug temporaire ou d’un problème qui nécessite une intervention.

As-tu eu mon message perso ?
Je répète les sites concernés https://boucherie-thierry.fr/ et https://golf-corpo-lr.ouvaton.org/
Merci,
Michel

Bonjour,

Je viens de faire remonter le problème vers notre infogérant.

Un test ce matin à 8h54 vient d’arriver sur une adresse externe.

Pour vous rien n’arrive, même pas dans vos spams ?