Page 1 sur 2

l'envoi des données par mail ne fonctionne pas.

Posté : 21 mai 2007, 18:06
par mamirock
Bonjour, j'ai créé ma page contact.php qui contient un formulaire. J'ai créé également une page formulaire.php qui reprend les informations laissées par le visiteur. Par contre, je n'arrive absolument pas à m'envoyer (en test) le formulaire sur ma boite mail.
J'ai énormément potassé de documentation, mais n'arrive pas à voir où le bas blesse. Quelles sont les informations à indiquer , sur quelle page et quel est le test que je pourrai faire (easyphp) pour m'assurer que tout fonctionne.
Merci par avance

Posté : 21 mai 2007, 18:26
par rakizm
c pas sorcier il faut que tu te documente sur la fonction mail() de php
et essaie de faire un test banal comme ceci pour voir si ça fonctionne ou pas

Code : Tout sélectionner

mail("ton_adresse_mail","sujet test","message test")

Posté : 21 mai 2007, 18:33
par mamirock
Bonsoir,
Je veux bien faire un test, mais j'utilise easyphp, quel est l'adresse e-mail à indiquer : celle que j'utilise couramment par le service NOOS?

Posté : 21 mai 2007, 18:38
par rakizm
tu peux utiliser n'importe quelle adresse active prend ton adresse personelle par exemple :)

Posté : 21 mai 2007, 18:44
par mamirock
Je te montre ma page contact où est le formulaire en question (surtout ne lis pas tout, je voudrais juste savoir où je met l'insertion mail

Code : Tout sélectionner

<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title> CONTACT </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Contact" href="contact.css" /> </head> <body> <div id="en_tete"> <!--BANNIERE--> </div> <div id="bordure"> </div> <div id="menu"> <!--MENU--> <div class="element_coordonnee"> <h3><!--SOUS TITRE COORDONNEE--> <dl> <dt>06.24.58.06.36.</dt><br/> <dt>02.38.84.31.23.</dt><br/> <dt><a href="mailto:[email protected]">[email protected]</a></dt><br/> </h3> </dl> </div> <div class="element_sommaire"> <h3><!--SOUS TITRE SOMMAIRE--> <dl> <dt><a href="index.php">Présentation</a></dt> </h3> </dl> </div> <div class="element_services"> <h3><!--SOUS TITRE services--> <dl> <dt><a href="services.php">Services</a></dt> </h3> </dl> </div> <div class="element_avantages"> <h3><!--SOUS TITRE avantages--> <dl> <dt><a href="avantages.php">Avantages</a></dt> </h3> </dl> </div> <div class="element_modalites"> <h3><!--SOUS TITRE modalites--> <dl> <dt><a href="modalites.php">Modalités</a></dt> </h3> </dl> </div> <div class="element_tarif"> <h3><!--SOUS TITRE tarif--> <dl> <dt><a href="tarif.php">Tarif</a></dt> </h3> </dl> </div> <div class="element_contact"> <h3><!--SOUS TITRE contact--> <dl> <dt><a href="contact.php">Contact</a></dt> </h3> </dl> </div> </div> <body> <form action="formulaire.php" method="post"class="css" > <fieldset> <strong><h3><center> FORMULAIRE DE CONTACT </center></strong></h3> <div class="eco">Si vous êtes intéressé(e) ou si vous souhaitez simplement des informations complémentaires,<br/> Remplissez le formulaire ci-après.</div> </fieldset> <br /> <div class="eco"> <h3><center> Nous nous ENGAGEONS A VOUS CONTACTER dans les plus brefs délais. </h3></center></div> <fieldset> <legend><strong> 1. Vos Coordonnées </strong></legend> <h3><p><label for ="denomination">Entreprise&nbsp;: </label></p> <input type="text" name="denomination" id="denomination" size="40" maxlength="40" value="" /> <br /> <p><label for ="fonction">Fonction&nbsp;: </label></p> <input type="text" name="fonction" id="fonction" size="40" maxlength="40" value="" /> <br /> <p><label for ="nom">Nom&nbsp;: </label></p> <input type="text" name="nom" id="nom" size="40" maxlength="40" value="" /> <br /> <p><label for ="prenom">Prénom&nbsp;: </label></p> <input type="text" name="prenom" id="prenom" size="40" maxlength="40" value="" /> <br /> <p><label for ="adresse">Adresse&nbsp;: </label></p> <input type="text" name="adresse" id="adresse" size="40" maxlength="40" value="" /> <br /> <p><label for ="adresse_suite">Adresse suite&nbsp;: </label></p> <input type="text" name="adresse_suite" id="adresse_suite" size="40" maxlength="40" value="" /> <br /> <p><label for ="code_postal">Code postal&nbsp;: </label></p> <input type="text" name="code_postal" id="code_postal" size="5" maxlength="5" value="" /> <br /> <p><label for ="commune">Ville&nbsp;: </label></p> <input type="text" name="commune" id="commune" size="40" maxlength="40" value="" /> <br /> <p><label for ="telfixe">Téléphone fixe&nbsp;: </label></p> <input type="text" name="telfixe" id="telfixe" size="11" maxlength="10" value="" /> <br /> <p><label for ="telport">Portable&nbsp;: </label></p> <input type="text" name="telport" id="telport" size="11" maxlength="10" value="" /> <br /> <p><label for ="Email">E-mail&nbsp;: </label></p> <input type="text" name="email" id="email" size="40" maxlength="40" value="" /> <br /></h3> </fieldset> <br/> <fieldset> <legend><strong>2. Message : </strong></legend> <textarea cols="50" rows="10" name="message" ></textarea> </fieldset><br/> <input type="reset" value="Rétablir" tyle="background-color:#c9a54b" title="Envoi de votre message" onmouseover="this.style.color='#ff0000'" onmouseout="this.style.color='#000000'" onmousedown="this.style.color='#ff9900'"/> <input name="soumettre" type="submit" value="Envoi"alt="Envoi" style="background-color:#c9a54b" title="Envoi de votre message" onmouseover="this.style.color='#ff0000'" onmouseout="this.style.color='#000000'" onmousedown="this.style.color='#ff9900'"/> <br /> <br /> <fieldset> <legend><strong>A noter : </strong></legend> <i> Conformément à l'art. 34 de la loi "Informatique et Libertés" du 6 janvier 1978, vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données vous concernant que vous pouvez exercer par courriel.</i> </fieldset><br /> </form> </div> </div> </body> </html>
et d'autre part la page formulaire.php qui me permet de récupérer les données.
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
   <title> CONTACT </title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       <link rel="stylesheet" media="screen" type="text/css" title="Contact" href="contact.css" />
   </head>
   <body>
        <div id="en_tete">
           <!--BANNIERE-->
        </div>
		<div id="bordure">
			
		</div>	
		<div id="menu">
           <!--MENU-->
				<div class="element_coordonnee">
					<h3><!--SOUS TITRE COORDONNEE-->
						<dl>
							<dt>06.24.58.06.36.</dt><br/>
							<dt>02.38.84.31.23.</dt><br/>
							<dt><a href="mailto:[email protected]">[email protected]</a></dt><br/>
					</h3>
						</dl>
				</div>
				<div class="element_sommaire">
					<h3><!--SOUS TITRE SOMMAIRE-->
						<dl>
							<dt><a href="index.php">Présentation</a></dt>
					</h3>
						</dl>
				</div>
				<div class="element_services">
					<h3><!--SOUS TITRE services-->
						<dl>
							<dt><a href="services.php">Services</a></dt>
					</h3>							
						</dl>
				</div>
				<div class="element_avantages">
					<h3><!--SOUS TITRE avantages-->
						<dl>
							<dt><a href="avantages.php">Avantages</a></dt>
					</h3>							
						</dl>
				</div>
				<div class="element_modalites">
					<h3><!--SOUS TITRE modalites-->
						<dl>
							<dt><a href="modalites.php">Modalités</a></dt>
					</h3>							
						</dl>
				</div>
				<div class="element_tarif">
					<h3><!--SOUS TITRE tarif-->
						<dl>
							<dt><a href="tarif.php">Tarif</a></dt>
					</h3>							
						</dl>
				</div>
				<div class="element_contact">
					<h3><!--SOUS TITRE contact-->
						<dl>
							<dt><a href="contact.php">Contact</a></dt>
					</h3>							
						</dl>
				</div>
		</div>
	
<body>

<form action="formulaire.php" method="post"class="css" 
>
<fieldset>
	<strong><h3><center> FORMULAIRE DE CONTACT </center></strong></h3>
<div class="eco">Si vous êtes intéressé(e) ou si vous souhaitez simplement des informations complémentaires,<br/>
					Remplissez le formulaire ci-après.</div>


</fieldset>
<br />
<div class="eco">
<h3><center> Nous nous ENGAGEONS A VOUS CONTACTER dans les plus brefs délais.
</h3></center></div>
  <fieldset>
		<legend><strong> 1. Vos Coordonnées  </strong></legend>
	
		<h3><p><label for ="denomination">Entreprise&nbsp;: </label></p>
          <input type="text" name="denomination" id="denomination" size="40" maxlength="40" value=""  />
        <br />

        <p><label for ="fonction">Fonction&nbsp;: </label></p>
          <input type="text" name="fonction" id="fonction" size="40" maxlength="40" value="" />
        <br />
		
		<p><label for ="nom">Nom&nbsp;: </label></p>
			 <input type="text" name="nom" id="nom" size="40" maxlength="40" value=""  />
        <br />

        <p><label for ="prenom">Prénom&nbsp;: </label></p>
			<input type="text" name="prenom" id="prenom" size="40" maxlength="40" value="" />
        <br />
		
		<p><label for ="adresse">Adresse&nbsp;: </label></p>
		   <input type="text" name="adresse" id="adresse" size="40" maxlength="40" value=""  />
        <br />

        <p><label for ="adresse_suite">Adresse suite&nbsp;: </label></p>
          <input type="text" name="adresse_suite" id="adresse_suite" size="40" maxlength="40" value="" />
        <br />
		
		<p><label for ="code_postal">Code postal&nbsp;: </label></p>
			
          <input type="text" name="code_postal" id="code_postal" size="5" maxlength="5" value=""  />
        <br />

        <p><label for ="commune">Ville&nbsp;: </label></p>
          <input type="text" name="commune" id="commune" size="40"  maxlength="40" value="" />
        <br />
		
		<p><label for ="telfixe">Téléphone fixe&nbsp;: </label></p>
          <input type="text" name="telfixe" id="telfixe" size="11" maxlength="10" value=""  />
        <br />

        <p><label for ="telport">Portable&nbsp;: </label></p>
          <input type="text" name="telport" id="telport" size="11" maxlength="10" value="" />
        <br />
		
		<p><label for ="Email">E-mail&nbsp;: </label></p>
          <input type="text" name="email" id="email" size="40" maxlength="40" value=""  />
        <br /></h3>
		 </fieldset>
		<br/>

 <fieldset>

		<legend><strong>2. Message : </strong></legend>
          <textarea cols="50" rows="10" name="message" ></textarea>
        </fieldset><br/>
   	<input type="reset" value="Rétablir" tyle="background-color:#c9a54b"  title="Envoi de votre message" onmouseover="this.style.color='#ff0000'" onmouseout="this.style.color='#000000'" onmousedown="this.style.color='#ff9900'"/>
 <input name="soumettre" type="submit" value="Envoi"alt="Envoi" style="background-color:#c9a54b"  title="Envoi de votre message" onmouseover="this.style.color='#ff0000'" onmouseout="this.style.color='#000000'" onmousedown="this.style.color='#ff9900'"/>
	<br />	<br />
  <fieldset>
		<legend><strong>A noter : </strong></legend>

		<i>
Conformément à l'art. 34 de la loi "Informatique et Libertés" du 6 janvier 1978, vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données vous concernant que vous pouvez exercer par courriel.</i>
		</fieldset><br />

</form>
		</div>
	</div>

</body>
</html>
Ai-je oublié quelque chose, où , quelle est le bon script????????????????

Posté : 22 mai 2007, 09:24
par rakizm
je ne voi pas la page de traitement de ton formaulaire???
elle est où ??
le traitement php du formulaire ????

Posté : 22 mai 2007, 09:37
par mamirock
Bonjour rakzim,
effectivement, j'ai omis de donner ma page traitement. pour moi elle est nommée "formulaire.php".

Code : Tout sélectionner

<?php $email_webmaster = "[email protected]"; //debug code echo 'Var POST : '.count($_POST).'<pre>'; print_r($_POST); echo '</pre>'; echo 'Var GET : '.count($_GET).'<pre>'; print_r($_GET); echo '</pre>'; //fin debug //on récupère nos valeurs $denomination = $_POST['denomination']; $fonction = $_POST['fonction']; $nom = $_POST['nom']; $prenom = $_POST['prenom']; $adresse = $_POST['adresse']; $adresse_suite = $_POST['adresse_suite']; $code_postal = $_POST['code_postal']; $commune = $_POST['commune']; $telfixe = $_POST['telfixe']; $telport = $_POST['telport']; $email = $_POST['email']; $message = $_POST['message']; $prenom = $_POST['prenom']; $nom = $_POST['nom']; print("<center><strong>Bonjour $prenom $nom<br/><br/>Détails ci-dessous des données que vous nous transmettez :</center></strong>"); echo 'Nom : <strong>'.$nom.'</strong</br>'; echo 'Prenom : <strong>'.$prenom.'</strong</br></br>'; echo 'Entreprise : <strong>'.$denomination.'</strong></br>'; echo 'Fonction : <strong>'.$fonction.'</strong></br></br>'; echo 'Adresse : <strong>'.$adresse.'</strong</br>'; echo 'Adresse suite :<strong>'.$adresse_suite.'</strong</br>'; echo 'Code postal : <strong>'.$code_postal.'</strong</br>'; echo 'Commune : <strong>'.$commune.'</strong</br></br>'; echo 'Téléphone fixe :<strong> '.$telfixe.'</strong</br>'; echo 'Téléphone portable :<strong> '.$telport.'</strong</br>'; echo 'E-mail :<strong> '.$email.'</strong</br>'; $email = $_POST['email']; $point = strpos($email,"."); $aroba = strpos($email,"@"); if($point=='') { echo "Votre email doit comporter un <b>point</b><br/>"; } elseif($aroba=='') { echo "Votre email doit comporter un <b>'@'</b><br/>"; } else { echo "Votre email est: '<a href=\"mailto:"."$email"."\"><b>$email</b></a><br/> '"; } echo 'Message : '.$message.'</br></br>'; echo "<p class='vi4'>Votre demande a bien été envoyée à AS.AD.CO.<br/> Nous vous remercions pour l'intérêt que vous portez à notre activité et soyez assuré(e) que nous vous répondrons dans les plus brefs délais.</p>\n" ; echo "<form name='boutons'><table border='0' cellspacing='0' cellpadding='0' width='90%' align='center'><tr><td><center>" ; echo "<input type='button' name='Envoi' alt='Envoi' value=\<a href="contact.php">Contact</a>"Retour à la page d'accueil\" style='color:#660066;background-color:#ebe7f1' onclick=\" onmouseover=\"this.style.color='#ff0000'\" onmouseout=\"this.style.color='#660066'\" onmousedown=\"this.style.color='#ff9900'\" />\n"; ?>

Posté : 22 mai 2007, 14:47
par rakizm
ah voilà je préfère comme ça :P
donc la fonction mail() tu la met à la fin de ton traitement lorsque tu as fini de générer
ton message, ton sujet,...

Posté : 22 mai 2007, 15:49
par mamirock
donc avant
?>
mais sous quelle forme? j'ai consulté ton lien, ça ne me dit rien du tout, je ne comprends pas trop!!

Posté : 23 mai 2007, 14:21
par rakizm
tu deviens grave là :P
oui c juste avant le " ?> " de fin de page.
mail($email_webmaster,"Sujet du mail","corps du message que tu veux envoyer au webmaster");
ps: le corps du message peut être de type "texte" ou "html"

plus que ça je peux plus expliquer ;)
j'espère que je t aidé suffisament @+

Posté : 23 mai 2007, 15:45
par béka
si tu travailles en local, ce que j'ai cru comprendre, il me semble auss qu'il faut modifier ton fichier de configuration php et ainsi modifier ton port smtp avec celui de ton FAI.
Si je ne di pas de bêtise, ta fonction devrait marcher après.

A vérifier.

Posté : 23 mai 2007, 16:26
par mamirock
Bonjour,
Je vais essayer, j'essaie de peaufiner mes codes et j'envoie le tout, on verra si ça marche.
Merci pour ton aide.
Cordialement

Posté : 24 mai 2007, 09:42
par Invité
Tiens ! Un exemple concret rien de plus explicite

<?php 
 $email_webmaster = "[email protected]"; 
 //debug code echo 'Var POST : '.count($_POST).'<pre>'; print_r($_POST); echo '</pre>'; echo 'Var GET : '.count($_GET).'<pre>'; print_r($_GET); echo '</pre>'; //fin debug 
   //on récupère nos valeurs 
    
      $denomination = $_POST['denomination']; 
      $fonction = $_POST['fonction']; 
      $nom = $_POST['nom']; 
      $prenom = $_POST['prenom']; 
      $adresse = $_POST['adresse']; 
      $adresse_suite = $_POST['adresse_suite']; 
      $code_postal = $_POST['code_postal']; 
      $commune = $_POST['commune']; 
      $telfixe = $_POST['telfixe']; 
      $telport = $_POST['telport']; 
      $email = $_POST['email']; 
      $message = $_POST['message']; 
    
    

$prenom = $_POST['prenom']; // tu te répette la ?
$nom = $_POST['nom']; // tu te répette la ?
print("<center><strong>Bonjour $prenom $nom<br/><br/>Détails ci-dessous des données que vous nous transmettez :</center></strong>"); 
      echo 'Nom : <strong>'.$nom.'</strong</br>'; 
      echo 'Prenom : <strong>'.$prenom.'</strong</br></br>'; 
       
      echo 'Entreprise : <strong>'.$denomination.'</strong></br>'; 
      echo 'Fonction : <strong>'.$fonction.'</strong></br></br>'; 
       
      echo 'Adresse : <strong>'.$adresse.'</strong</br>'; 
      echo 'Adresse suite :<strong>'.$adresse_suite.'</strong</br>'; 
      echo 'Code postal : <strong>'.$code_postal.'</strong</br>'; 
      echo 'Commune : <strong>'.$commune.'</strong</br></br>'; 
       
      echo 'Téléphone fixe :<strong> '.$telfixe.'</strong</br>'; 
      echo 'Téléphone portable :<strong> '.$telport.'</strong</br>'; 
      echo 'E-mail :<strong> '.$email.'</strong</br>'; 
    
$email = $_POST['email']; 
$point = strpos($email,"."); 
$aroba = strpos($email,"@"); 

if($point=='') 
{ 
echo "Votre email doit comporter un <b>point</b><br/>"; 
} 
elseif($aroba=='') 
{ 
echo "Votre email doit comporter un <b>'@'</b><br/>"; 
} 
else 
{ 
echo "Votre email est: '<a href=\"mailto:"."$email"."\"><b>$email</b></a><br/>   '"; 
} 
    
echo 'Message : '.$message.'</br></br>';       
    
echo "<p class='vi4'>Votre demande a bien été envoyée à AS.AD.CO.<br/> 
 Nous vous remercions pour l'intérêt que vous portez à notre activité et soyez assuré(e) que nous vous répondrons dans les plus brefs délais.</p>\n" ; 
      echo "<form name='boutons'><table border='0' cellspacing='0' cellpadding='0' width='90%' align='center'><tr><td><center>" ; 
  echo "<input type='button' name='Envoi' alt='Envoi'   value=\<a href="contact.php">Contact</a>"Retour à la page d'accueil\" style='color:#660066;background-color:#ebe7f1' onclick=\" onmouseover=\"this.style.color='#ff0000'\" onmouseout=\"this.style.color='#660066'\" onmousedown=\"this.style.color='#ff9900'\" />\n"; 


// envoie de confirmation au client par mail
$subject="ton sujet";	   
$message="<table width=98% border=0 cellspacing=0 cellpadding=0>
<tr> 
<td width=25%>
Bonjour $nom $prenom<br>$message<br>
<br>
Ceci est une demande de confirmation 
</td>
</tr>
<tr>
<td height=19 colspan=3>
Votre demande a bien été envoyée à AS.AD.CO.
<br>
L'équipe vous remercie !
</td>
</tr>
</table>";



$headers .= "From:<$email_webmaster>\n";// mail de l'admin ne pas changer par le mail d'une personne 
$headers .= "X-Sender: <$email>\n"; 
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Priority: 3\n";
$headers .= "Return-Path: <$email> \n"; // Chemin de retour pour les erreurs
$headers .= "Content-Type: text/html; charset=iso-8859-1\n"; // Type MIME
if(mail($email,$subject,$message,$headers)){}

  
?>

Posté : 24 mai 2007, 09:46
par dogmongo
je vasi peu être dire une bêteise quen j'en dis souvent mais pour moi tout ca c'est inutile
      
      $denomination = $_POST['denomination']; 
      $fonction = $_POST['fonction']; 
      $nom = $_POST['nom']; 
      $prenom = $_POST['prenom']; 
      $adresse = $_POST['adresse']; 
      $adresse_suite = $_POST['adresse_suite']; 
      $code_postal = $_POST['code_postal']; 
      $commune = $_POST['commune']; 
      $telfixe = $_POST['telfixe']; 
      $telport = $_POST['telport']; 
      $email = $_POST['email']; 
      $message = $_POST['message']; 

Posté : 24 mai 2007, 12:24
par Sékiltoyai
je vasi peu être dire une bêteise quen j'en dis souvent mais pour moi tout ca c'est inutile
      
      $denomination = $_POST['denomination']; 
      $fonction = $_POST['fonction']; 
      $nom = $_POST['nom']; 
      $prenom = $_POST['prenom']; 
      $adresse = $_POST['adresse']; 
      $adresse_suite = $_POST['adresse_suite']; 
      $code_postal = $_POST['code_postal']; 
      $commune = $_POST['commune']; 
      $telfixe = $_POST['telfixe']; 
      $telport = $_POST['telport']; 
      $email = $_POST['email']; 
      $message = $_POST['message']; 
En fait, c'aurait été utile s'il y avait eu des tests sur l'existance et la conformité des données (tests indispensables) :
$var = isset($_POST['var'])?$_POST['var']:'';