easytype Posté 1 Avril 2009 Posté 1 Avril 2009 Bonjours à tous, Sur mon site j'ai créé une page "Contact" avec un script, de contact, qui avant marchais bien, et aujourd'hui, il ne marche plus. Après avoir écrit le message j'ai : "Message bien envoyé", mais je ne reçoit rien ! :/ PS : C'est un script que j'ai trouvé sur le net, le voici : <html><?php //Pour tous les paramètres -> 1 = oui; 0 = non$email_admin = 'je-cache-mon-mail'; // Votre email$nom_site = 'Jessy.H'; // Le nom du site où sera installé le script$sujets = array('Problèmes','Renseignements','Autres'); // Sujets possibles aux messages (pour en rajouter prenez exemple sur les 3 premiers)$choix_urgent = 0; // Vous pouvez choisir d'activer ou non la fonction "urgent", ainsi l'internaute pourra signaler que son mail est urgent ou non$choix_nom = 1; // Nom obligatoire $votre_mail = 0; // Afficher votre adresse email directement ?//// Ne pas modifier ci-dessous//if(isset($_POST['envoyer']) && $_POST['envoyer'] == 'ok')// Si l'on envoye quelque chose{ $reponse = '<br />'; $mail = htmlentities($_POST['mail']); // On récupère l'email $nom = htmlentities($_POST['nom']); // Le nom $sujet = htmlentities($_POST['sujet']); // Le sujet $message = nl2br(htmlentities($_POST['message'])); // Le message $urgent = htmlentities($_POST['urgent']); // On récupère le type du message if($choix_nom == 1) // Si le nom est obligatoire { if(!empty($nom)) // Si le champ est bien rempli on met 1 { $Snom = 1; } elseif(empty($nom)) // Sinon on met 0 { $Snom = 0; } } else // Si le champ n'est pas activé on met 1 { $Snom = 1; } if(!empty($mail) && !empty($message) && $sujet != '' && $Snom == 1) // On vérifie que l'email, le message et le sujet sont bien présent et on vérifie si tout est correct avec le nom { // L'entete du message $entete = "MIME-Version: 1.0\r\n"; $entete .= "Content-type: text/html; charset=iso-8859-1\r\n"; $entete .= "From: <$mail>\r\n"; $entete .= "Reply-To: $mail\r\n"; $email = ''; // La variable du message a envoyer if($urgent == 1) // Si le message est urgent on le signal $email .= '<strong>Message urgent !!</strong><br />'; if(empty($nom)) $nom = 'NON INDIQUE'; // On créée le message $email .= 'Vous recevez ce message de votre site <u>' .$nom_site. '</u> pour une raison <strong>' .$sujets[$sujet]. '</strong>.<br />Son email est : ' .$mail. '<br /><br />'; $email .= 'Le message de l\'utilisateur <u>' .$nom. '</u> :<br />-----<br />'; $email .= $message; $email = stripslashes($email); mail($email_admin, 'Message Internaute: ' .$sujets[$sujet], $email, $entete); // Et on envoye le tout $reponse .= 'Votre message a bien été transféré au webmaster. Nous vous remercions.<br />'; // on indique que tout s'est bien déroulé. } else { $reponse .= 'Merci de bien completer tous les champs.<br />'; // On indique une erreur }}?></html><body><form name="form1" method="post" action=""><p><strong><?php echo $reponse; ?></strong></p><fieldset><?php if($votre_mail == 1) { echo '<p>Adresse email du webmaster : <u>' .$email_admin. '</u></p>'; } ?><p><label>Votre email : <input type="text" name="mail">*</label></p><p><label>Votre nom complet : <input type="text" name="nom"><?php if($choix_nom == 1) { echo '*'; } ?></label></p><p>Sujet de votre message : <select name="sujet"> <?php for($i = 0; $i < count($sujets); $i++) { echo '<option value="' .$i. '">' .$sujets[$i]. '</option>'; } ?> </select>*</p><?phpif($choix_urgent == 1){ echo '<p>Votre message est-il urgent ? :<br />'; echo '<label><input type="radio" name="urgent" value="1"> Oui</label><br />'; echo '<label><input type="radio" name="urgent" value="0" checked> Non</label><br />'; echo '(Merci de ne pas abuser de l\'urgence)</p>';}?><p>Votre message : <br /><textarea name="message" cols="55" rows="10"></textarea>*</p><p> <input type="hidden" name="envoyer" value="ok"> <input type="submit" name="Submit" value="Envoyer"> <input type="reset" name="Submit2" value="Réinitialiser"></p><p>* Champs obligatoires.</fieldset></form></a></body> J'ai essayer d'installer 3 autres script, et pareil, ils ne marche pas ! Est-ce parce que mon Mail est en hotmail.com ? Merci de votre aide.
captain_torche Posté 1 Avril 2009 Posté 1 Avril 2009 Où est hébergé ton site ? Certains fournisseurs d'espace web gratuit (comme Free), limitent l'utilisation de la fonction mail. Tu peux déjà modifier une ligne : if(mail($email_admin, 'Message Internaute: ' .$sujets[$sujet], $email, $entete)) { // Et on envoye le tout$reponse .= 'Votre message a bien été transféré au webmaster. Nous vous remercions.<br />'; // on indique que tout s'est bien déroulé.} De cette manière, le message "Votre message ..." n'apparaîtra que si le mail est effectivement envoyé.
easytype Posté 1 Avril 2009 Auteur Posté 1 Avril 2009 (modifié) Bonjour, j'utilise Free Quand je met la ligne donnez, j'obtiens une erreure : http://jessy.houcke.free.fr/page2.php Parse error: syntax error, unexpected $end in /mnt/164/sda/3/2/jessy.houcke/page2.php on line 153 La ligne 153 c'est : <?php include("includ2.php"); ?> Modifié 1 Avril 2009 par easytype
ink studio Posté 1 Avril 2009 Posté 1 Avril 2009 Bonjour, Envoie les ligne au dessus de celle-ci qu'on puisse jeter un oeil.
easytype Posté 1 Avril 2009 Auteur Posté 1 Avril 2009 Au dessus de : <?php include("includ2.php"); ?> Il y'a : <html><?php //Pour tous les paramètres -> 1 = oui; 0 = non$email_admin = 'je-cache-mon-mail'; // Votre email$nom_site = 'Jessy.H'; // Le nom du site où sera installé le script$sujets = array('Problèmes','Renseignements','Autres'); // Sujets possibles aux messages (pour en rajouter prenez exemple sur les 3 premiers)$choix_urgent = 0; // Vous pouvez choisir d'activer ou non la fonction "urgent", ainsi l'internaute pourra signaler que son mail est urgent ou non$choix_nom = 1; // Nom obligatoire $votre_mail = 0; // Afficher votre adresse email directement ?//// Ne pas modifier ci-dessous//if(isset($_POST['envoyer']) && $_POST['envoyer'] == 'ok')// Si l'on envoye quelque chose{$reponse = '<br />';$mail = htmlentities($_POST['mail']); // On récupère l'email$nom = htmlentities($_POST['nom']); // Le nom$sujet = htmlentities($_POST['sujet']); // Le sujet$message = nl2br(htmlentities($_POST['message'])); // Le message$urgent = htmlentities($_POST['urgent']); // On récupère le type du messageif($choix_nom == 1)// Si le nom est obligatoire{if(!empty($nom))// Si le champ est bien rempli on met 1{$Snom = 1;}elseif(empty($nom))// Sinon on met 0{$Snom = 0;}}else// Si le champ n'est pas activé on met 1{$Snom = 1;}if(!empty($mail) && !empty($message) && $sujet != '' && $Snom == 1)// On vérifie que l'email, le message et le sujet sont bien présent et on vérifie si tout est correct avec le nom{// L'entete du message$entete = "MIME-Version: 1.0\r\n";$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";$entete .= "From: <$mail>\r\n";$entete .= "Reply-To: $mail\r\n";$email = ''; // La variable du message a envoyerif($urgent == 1) // Si le message est urgent on le signal$email .= '<strong>Message urgent !!</strong><br />';if(empty($nom))$nom = 'NON INDIQUE';// On créée le message $email .= 'Vous recevez ce message de votre site <u>' .$nom_site. '</u> pour une raison <strong>' .$sujets[$sujet]. '</strong>.<br />Son email est : ' .$mail. '<br /><br />';$email .= 'Le message de l\'utilisateur <u>' .$nom. '</u> :<br />-----<br />';$email .= $message;$email = stripslashes($email);mail($email_admin, 'Message Internaute: ' .$sujets[$sujet], $email, $entete); // Et on envoye le tout$reponse .= 'Votre message a bien été transféré au webmaster. Nous vous remercions.<br />'; // on indique que tout s'est bien déroulé.}else{$reponse .= 'Merci de bien completer tous les champs.<br />'; // On indique une erreur}}?></html><body><form name="form1" method="post" action=""><p><strong><?php echo $reponse; ?></strong></p><fieldset><?php if($votre_mail == 1) { echo '<p>Adresse email du webmaster : <u>' .$email_admin. '</u></p>'; } ?><p><label>Votre email : <input type="text" name="mail">*</label></p><p><label>Votre nom complet : <input type="text" name="nom"><?php if($choix_nom == 1) { echo '*'; } ?></label></p><p>Sujet de votre message : <select name="sujet"><?phpfor($i = 0; $i < count($sujets); $i++){echo '<option value="' .$i. '">' .$sujets[$i]. '</option>'; }?></select>*</p><?phpif($choix_urgent == 1){echo '<p>Votre message est-il urgent ? :<br />';echo '<label><input type="radio" name="urgent" value="1"> Oui</label><br />';echo '<label><input type="radio" name="urgent" value="0" checked> Non</label><br />';echo '(Merci de ne pas abuser de l\'urgence)</p>';}?><p>Votre message : <br /><textarea name="message" cols="55" rows="10"></textarea>*</p><p><input type="hidden" name="envoyer" value="ok"><input type="submit" name="Submit" value="Envoyer"><input type="reset" name="Submit2" value="Réinitialiser"></p><p>* Champs obligatoires.</fieldset></form></a></body>
yuston Posté 1 Avril 2009 Posté 1 Avril 2009 ˙˙˙lıǝo,p dnoɔ ǝpıdɐɹ un uǝ ,,xnɐɟ,, ǝp ǝʌnoɹʇ uǝıɹ ıɐ,u ǝɾ Oups désolé. <joke type="private" mode="off" /> Bon je disais qu'en un rapide coup d'il, je n'ai pas trouvé d'erreur dans l'énorme code donné. D'ailleurs, il sort d'où? Il nous faut les lignes 143-155 de page2.php je pense pour en savoir plus.
easytype Posté 2 Avril 2009 Auteur Posté 2 Avril 2009 Hello ! Arf, j'ai modifier mon code donc je ne sais plus à quoi correspondent ces lignes ... :s Sinon, $email_admin = 'je-cache-mon-mail'; // Votre email Quand je met une adresse Hotmail, je ne reçois rien. Quand je met une adresse Laposte.net, je reçois les mails. Donc le problème serais résolu ? Mais vu que je ne vais jamais sur ma boite Laposte ... Bref x)
captain_torche Posté 2 Avril 2009 Posté 2 Avril 2009 C'est sans doute parce que hotmail est très restrictif sur les emails reçus. Il ne serait pas dans ta boîte de spams ?
easytype Posté 2 Avril 2009 Auteur Posté 2 Avril 2009 Non, pas dans spam, j'ai aussi regardez si j'avais bloqué l'expéditeur, mais non ... Ce que je ne comprend pas c'est qu'avant cela marché sur Hotmail ..
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant