Bonjour à vous
Je viens solliciter votre aide sur un formulaire de contact en php pour lequel il n'y a pas d'erreur (enfin je pense les avoir corrigées). En effet j'ai bien l'email qui est envoyé mais je n'ai aucune réception. J'ai pensé à modifier php.ini pour paramétrer le serveur smtp à mon FAI. J'ai fait des recherches mais je n'aboutit pas aucune solution viable. Voici le code

<?php
$erreur= NULL;
$info=NULL;
if (!empty($_POST['nom']) AND !empty($_POST['tel']) AND !empty($_POST['email']) AND !empty($_POST['message'])) {
	
	extract ($_POST);
    if (preg_match ("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)){
        $nom=htmlspecialchars(addslashes($nom));
        $tel=htmlspecialchars(addslashes($tel));
        $email=htmlspecialchars(addslashes($email));
        $message=htmlspecialchars(addslashes($message));
        $destinataire="vmoreaupro@free.fr";
        $sujet="formulaire de contact";
        $entete='De : '.$email.'';
        $message='Nom : '.$nom.' '."/n".'Téléphone : '.$tel.' '."/n".'Message : '.$message.'';
        $headers  = 'MIME-Version: 1.0' . "\r\n";
		$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
		
        mail ($destinataire, $sujet, $message, $entete, $headers);
        
        $info="Votre message a bien été envoyé";
        unset($_POST, $message, $nom, $email, $tel);
    }
    else {
        $erreur="Adresse email invalide";
    }
}
else {
    $erreur= "* Veuillez remplir tous les champs obligatoires";
}
?>

Il n'y a pas grand chose mais je n'arrive pas à mettre le doigt dessus.
Merci par avance de votre aide.
Cordialement,
Torghis
Faut savoir un truc sur la fonction native d'envoi de mail de php > ça marche mais le header générer n'est pas toujours accepté par certaines messagerie. Je t'invite à utiliser phpmailler (ou une autre classe un peu plus complexe)

Après tu veux malgré tout faire du bas niveau cradeau j'te passe ma fonction qui fait "au mieux".

Dans le php ini >

[mail function]
SMTP=smtp.orange.fr
smtp_port=25

sachant que tu seras sur une utilisation anonyme du service smtp... donc très probablement black listé au passage.

	 function Send_Mail($in_Email_To,$in_Email_From,$in_Mail_Obj,$in_Body){
		try{
			$Nom_Site = "Ton libelle";
	
			$Headers= array();
			$Headers[] = "MIME-Version: 1.0";
			$Headers[] = "Content-type: text/html; charset=\"UTF-8\"";
			$Headers[] = "Content-Transfer-Encoding: 8bit ";
			$Headers[] = "From: " .$Nom_Site." <".$in_Email_From.">";
			$Headers[] = "Reply-To: ".$Nom_Site." <".$in_Email_From.">";
			$Headers[] = "X-Mailer: PHP/".phpversion();
			$Header_End = implode("\r\n", $Headers);
			
			mail($in_Email_To,$in_Mail_Obj,$in_Body,$Header_End);
		}
		catch(Exception $e){
			throw $e;
		}
	}


PS : vérifie que ton firewall laisse bien sortir t'es packets vers le smtp concerné.
Modifié par black_magic (20 Oct 2017 - 12:13)
Merci c'est gentil de ta réponse. Cela dit, vu que je débute en PHP, sans un minimum (voire un maximum) d'explications, c'est pratiquement du charabia pour moi donc je ne sais même pas quoi en faire ni comment utiliser ta fonction.
J'ai trouvé un autre formulaire que j'ai transposé pour tester. Avec ce code je reçois les emails suite à l'exécution du formulaire. Donc, je pense qu'il manque peu de chose pour que le mien fonctionne.
Commence par lire les rudiments alors sinon tu ne t'en sortiras jamais.
L'appel des fonctions c'est le BABA du dev.

Pour info : mail ($destinataire, $sujet, $message, $entete, $headers);
là tu appel la fonction mail avec les paramètres liés aux variables destinataire,sujet,message, entete,headers.

Tu as fais un copier coller sans comprendre ce que tu faisais et tu as tout de suite appelé à l'aide sans essayer de lire la doc ?