Problème reception mail via page php

Fermé
slin Messages postés 2 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 25 mars 2013 - 21 mars 2013 à 15:18
slin Messages postés 2 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 25 mars 2013 - 25 mars 2013 à 09:42
Bonjour, je réalise actuellement pour mon site une page contact via un traitement.php malheureusement je ne reçois que le mail de l'expéditeur. Si quelqu'un peut me donner un coup de mais voici le code
html:
<div id="form">
        <form id="contact_form" name="form_contact" method="post" action="traitement.php"> 

            <p><label for="nom">Votre Nom</label> </p> 
            <p><input type="text" id="nom" name="nom" placeholder="Prénom et nom" required tabindex="1"/></p>
            
            <p><label for="email">Votre email</label></p> 
            <p><input type="text" id="email" name="email" placeholder="exemple@domain.com" required tabindex="2"/> </p>
            
            <p><label for="objet">Objet</label></p> 
            <p><input type="text" id="objet" name="objet" placeholder="L'objet de votre mail" required tabindex="3" /> </p>
            
            <p><label for="message">Votre message</label></p> 
            <p><textarea name="message" id="message" tabindex="4" placeholder="Votre mail"> </textarea> </p>
            
            <p><input type="submit" id="envoi" name="envoi" tabindex="5" value=""/></p>
        
        </form>
    </div>

et php:
<?php
	/*
		********************************************************************************************
		CONFIGURATION
		********************************************************************************************
	*/
	// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
	$destinataire = 'nichaillou@wanadoo.fr';
 
	// copie ? (envoie une copie au visiteur)
	$copie = 'non'; // 'oui' ou 'non'
 
	// Messages de confirmation du mail
	$message_envoye = "<div class='msg'> Votre message nous est bien parvenu . Nous y répondrons dans les plus brefs délais. Pour retourner au site cliquez <a href="monsite/contact">ici</a></div>";
	$message_non_envoye = "<div class='msg'>L'envoi du mail a échoué, veuillez réessayer s'il vous plait ou utiliser une méthode traditionnelle.</div>";
 
	// Messages d'erreur du formulaire
	$message_erreur_formulaire = "<div class='msg'>Vous devez d'abord <a href="monsite/contact">envoyer le formulaire</a>.</div>";
	$message_formulaire_invalide = "<div class='msg'>Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.</div>";
 
	/*
		********************************************************************************************
		FIN DE LA CONFIGURATION
		********************************************************************************************
	*/
		ini_set('sendmail_from', 'nichaillou@wanadoo.fr'); 
 
		// on teste si le formulaire a été soumis
	if (!isset($_POST['envoi']))
	{
		// formulaire non envoyé
		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
	}
	else
	{
		/*
		 * cette fonction sert à nettoyer et enregistrer un texte
		 */
		function Rec($text)
		{
			$text = trim($text); // supprime les espaces avant et après le texte
			if (1 === get_magic_quotes_gpc())
			{
				$stripslashes = create_function('$txt', 'return stripslashes($txt);');
			}
			else
			{
				$stripslashes = create_function('$txt', 'return $txt;');
			}
 
			// magic quotes ?
			$text = $stripslashes($text);
			$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
			$text = nl2br($text);
			return $text;
		}
 
		/*
		 * Cette fonction sert à vérifier la syntaxe d'un email
		 */
		function IsEmail($email)
		{
			$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
			return (eregi($pattern,$email)) ? true : false;
		}
 
 
 
		// formulaire envoyé, on récupère tous les champs.
		$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
		$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
		$objet   = (isset($_POST['objet']))   ? Rec($_POST['objet'])   : '';
		$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
 
		// On va vérifier les variables et l'email ...
		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
 
		if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
		{
			// les 4 variables sont remplies, on génère puis envoie le mail
			$headers = "MIME-Version: 1.0\r\n";
			$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
			$headers = 'From: '.$nom.' <'.$email.'>'."\r\n\r\n";
 
			// envoyer une copie au visiteur ?
			if ($copie == 'oui')
			{
				$cible = $destinataire.','.$email;
			}
			else
			{
				$cible = $destinataire;
			}
 
			// Remplacement de certains caractères spéciaux
			$message = str_replace("'","'",$message);
			$message = str_replace("'","'",$message);
			$message = str_replace("\"",'"',$message);
			$message = str_replace('<br>','',$message);
			$message = str_replace('<br />','',$message);
			$message = str_replace("<","<",$message);
			$message = str_replace(">",">",$message);
			$message = str_replace("&amp;","&",$message);
 
			// Envoi du mail
			if (mail($cible, $message, $headers)){
				echo '<p>'.$message_envoye.'</p>'."\n";
			}
			else
			{
				echo '<p>'.$message_non_envoye.'</p>'."\n";
			}
		}
		else
		{
			// une des 3 variables (ou plus) est vide ...
			//echo htmlentities($objet);
			echo '<p>'.$message_formulaire_invalide.'<a href="monsite/contact">Retour au formulaire</a></p>'."\n";
		}
	} // fin du if (!isset($_POST['envoi']))
?>


PS je suis hébergé chez free




A voir également:

1 réponse

Utilisateur anonyme
24 mars 2013 à 05:06
bjr, je comprend pas bien ton problème... peux-tu mieux expliquer stp?

A+
0
slin Messages postés 2 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 25 mars 2013
25 mars 2013 à 09:42
mon problème est simple fichier traitement fonctionne mal je reçois bien les mail mais il ne m'indique que le mail de l'expéditeur je ne reçois pas le message
0