Envoi de mail via PHP

Répondre
stophking
le 09/07/2009 à 17:30
stophking
bonjour c'est mon premier sujet ici dans ce forum, j'ai besoin de votre aide pour resoudre un probleme.
j'ai créer un formulaire html et j'aimerais recevoir les données de se formulaire dans ma boite email
biensur j'ai créer un script php qui execute se travial mais je ne sais pas ou est le probleme parce que il ne marche toujour pas :(

voila le code html du formulaire

<form method=post action=inscription.php >
<table width="75%" border="0" cellspacing="0" cellpadding="0" align="left">
<tr>
<td width="111" height="25" align="right">Nom :</td>
<td width="15">&nbsp;</td>
<td width="199" align="left"><input style="text-transform: uppercase; color: rgb(5, 70, 126);" type="text" name="nom" /></td>
<td width="15">&nbsp;</td>
<td width="294">Formulez ci-dessous votre demande : </td>
</tr>
<tr>
<td height="25" align="right">Pr&eacute;nom :</td>
<td>&nbsp;</td>
<td align="left"><input style="color: rgb(5, 70, 126);" type="text" name="prenom" /></td>
<td>&nbsp;</td>
<td rowspan="7" valign="top"><table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><textarea name="message" cols="25" rows="20"></textarea></td>
</tr>
</table></td>
</tr>
<tr>
<td height="25" align="right">Niveau D'&eacute;tude:</td>
<td>&nbsp;</td>
<td align="left"><input name="niveau" type="text" id="niveau" style="color: rgb(5, 70, 126);" /></td>
<td></td>
</tr>
<tr>
<td height="25" align="right">Activit&eacute; : </td>
<td>&nbsp;</td>
<td align="left"><input style="color: rgb(5, 70, 126);" type="text" name="activite" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="25" align="right">Adresse :</td>
<td>&nbsp;</td>
<td align="left"><input style="color: rgb(5, 70, 126);" name="adresse" type="text" maxlength="80" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="25" align="right">Code postal :</td>
<td width="15">&nbsp;</td>
<td align="left"><input style="color: rgb(5, 70, 126);" name="codepostal" type="text" maxlength="5" /></td>
<td width="15">&nbsp;</td>
</tr>
<tr>
<td height="25" align="right">Ville :</td>
<td>&nbsp;</td>
<td align="left"><input style="text-transform: uppercase; color: rgb(5, 70, 126);" name="ville" type="text" maxlength="50" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="25" align="right">Pays :</td>
<td>&nbsp;</td>
<td align="left"><input style="text-transform: uppercase; color: rgb(5, 70, 126);" type="text" name="pays" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="25" align="right">T&eacute;l&eacute;phone :</td>
<td>&nbsp;</td>
<td align="left"><input name="telephone" type="text" style="color: rgb(5, 70, 126);" maxlength="10" /></td>
<td>&nbsp;</td>
<td rowspan="2" align="left" valign="top"> D&eacute;sirez-vous une plaquette &nbsp;&nbsp;&nbsp;
OUI
<input type="radio" name="plaquette" value="oui" />
NON
<input type="radio" name="plaquette" value="non" checked="checked" /></td>
</tr>
<tr>
<td height="25" align="right">Fax :</td>
<td>&nbsp;</td>
<td align="left"><input style="color: rgb(5, 70, 126);" name="fax" type="text" maxlength="10" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="25" align="right">E-mail :</td>
<td>&nbsp;</td>
<td align="left"><input style="color: rgb(5, 70, 126);" type="text" name="to" /></td>
<td>&nbsp;</td>
<td align="center"><input style="color: rgb(5, 70, 126);" type="reset" name="annuler" value="Annuler" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input style="color: rgb(5, 70, 126);" type="button" name="Submit" value="Envoyer" /></td>
</tr>
</table>

</form>


et voici le code PHP


<?php // Début du PHP


$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
$message = $_POST["message"];
$societe = $_POST["societe"];
$activite = $_POST["activite"];
$adresse = $_POST["adresse"];
$codepostal = $_POST["codepostal"];
$ville = $_POST["ville"];
$pays = $_POST["pays"];
$telephone = $_POST["telephone"];
$fax = $_POST["fax"];
$to = $_POST["to"];
$plaquette = $_POST["plaquette"];

$from = "stophweb@hotmail.com"; // adresse d'exemple
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete .= "From: $from <stophweb@hotmail.com>\r\n";
$entete .= "Reply-to: $from\r\n";
$entete .= "X-Mailer: PHP\r\n";
$entete .= "X-Priority: 1\r\n";
$entete .= "Return-Path: <stophweb@hotmail.com> \r\n";

//sujet du mail
$sujet = "Demande d'inscrption ou d'information\r\n";
//preparation du texte du mail (\r\n correspond au retour à la ligne)
$mge = "Vous avez reçu une demande d'inscrption de la part de : \r\n
Nom : ".$nom."\r\n
Prenom : ".$prenom."\r\n
Societe : ".$societe."\r\n
Activite : ".$activite."\r\n
Adresse : ".$adresse."\r\n
Code-Postal : ".$codepostal."\r\n
Ville : ".$ville."\r\n
Telephone :".$telephone."\r\n
Fax : ".$fax."\r\n
Email : ".$to."\r\r\n
Message : ".$message."\r\r\n
Plaquette demandée : ".$plaquette;

//Envoi du mail
if (mail($to,$sujet,$mge,$entete))

{
include("ac.php");

}
else
{
include("err.php");
}

// Fin du PHP


?>



merci pour votre aide d'avance :)
stoph
LA GLOBULE
le 09/07/2009 à 17:38
LA GLOBULE
Ton titre de sujet est contraire à la charte du forum, et tu n'utilises pas le BB-Code (qui est aussi préconisé dans la charte du forum).
LA GLOBULE
le 10/07/2009 à 09:34
LA GLOBULE
Sinon, est ce que toutes les données POST arrivent bien sur le PHP ? Fais un print_r pour le vérifier.

Ensuite, est ce que tu rentres dans ton if ? ou non ?

Sinon, tu as une faille de sécurité dans ton script, tu ne fais aucun traitement sur $_POST['to'], ce qui fait que ton formulaire de contact peut devenir une bombe à SPAM. Modifie $_POST['to'] pour virer tous les retour chariots possibles (linefeed, CRLF).

PS : as tu testé un envoi de mail classique, au format texte avec juste une ligne de code, genre mail('toto@toto.com', 'sujet', 'mail'); ? Ca te permettrait déjà de voir si la fonction mail fonctionne bien.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours