envoi de mail en php 7.2.3 sous xampp 3.2.2

Petit nouveau ! | 7 Messages

22 févr. 2019, 18:46

Bonjour,

je développe en php 7.2.3, sous xampp 3.2.2 et je cherche à envoyer un mail , mais toujours le même message d'erreur que je n'arrive pas à corriger :

"mail(): Failed to connect to mailserver at "ssl://smtp.gmail.com" port 587, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()"

le code php, récupéré sur internet , est le suivant :


<?php
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("sendmail_from","<[email protected]>");
ini_set("smtp_port","465");

$mail = '[email protected]'; // Déclaration de l'adresse de destination.

$passage_ligne = "\n";
//=====Déclaration des messages au format texte et au format HTML.
$message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
//=====Création de la boundary
$boundary = "-----=".md5(rand());
//=====Définition du sujet.
$sujet = "Hey mon ami !";
//=====Création du header de l'e-mail.
$header = "From: \"moi\"<[email protected]>".$passage_ligne;
$header.= "Reply-to: \"moi\" <[email protected]>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//=====Création du message.
$message = $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
//=====Envoi de l'e-mail.
mail($mail,$sujet,$message,$header);
//==========
?>


Je ne vois pas ce qui provoque cette erreur ; quelqu'un peut-il bien me donner un coup de pouce ?

Kader

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

23 févr. 2019, 09:31

Vérifie que l'adresse et le port soient ceux préconisés par Gmail.
Si c'est le cas, alors contacte ton hébergeur, c'est possible qu'il bloque la connexion.
Si ce n'est pas ton hébergeur, ça peut être Google qui a banni l'IP de ton hébergeur suite à du spam (et donc tu ne pourras pas faire grand chose de plus)
Quand tout le reste a échoué, lisez le mode d'emploi...