ricus1er Posté 27 Décembre 2005 Partager Posté 27 Décembre 2005 Bonjour à tous, J'ai mis en place un formulaire de contact sur mon site, que vous pouvez trouvez à l'adresse suivante : http://www.litzler.fr/contact.htm. Tout semble marcher correctement, mais je ne reçois aucun mail, malgré le message de succès qui arrive. Est-ce que quelqu'un sait d'où ça peut venir ? Merci pour votre aide, Eric Lien vers le commentaire Partager sur d’autres sites More sharing options...
Chark Posté 27 Décembre 2005 Partager Posté 27 Décembre 2005 (modifié) J'ai parcouru très rapidement les codes sources de tes 2 pages ( contact.php et traitement.php ) ==> je ne trouve nulle part de fonctions "mailto".. De ce que je vois rapidement, à la page "contact", l'internaute saisi ses informations et cela envoie ensuite à la page "traitement" qui affiche que c'est ok MAIS je ne voit nulle part une fonction qui permette d'envoyer ces info a une adresse email.. question: ce sont des pages php que tu "rewrite" en htm ( si c'est le cas faudrais que tu donne le code php qui ne s'affiche pas en navigation directe ) ? Modifié 27 Décembre 2005 par Chark Lien vers le commentaire Partager sur d’autres sites More sharing options...
v4np13 Posté 27 Décembre 2005 Partager Posté 27 Décembre 2005 Il nous faudrait le code PHP de la page traitement.php pour pouvoir t'aider Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 27 Décembre 2005 Partager Posté 27 Décembre 2005 Il nous faudrait le code PHP de la page traitement.php pour pouvoir t'aider <{POST_SNAPBACK}> Oui. Le résultat html du traitement du formulaire ne suffit pas à trouver ce genre de problèmes, il faut le code php. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ricus1er Posté 29 Décembre 2005 Auteur Partager Posté 29 Décembre 2005 (modifié) Effectivement, c'est pas très malin de ma part... Voici le code du fichier traitement.php : <?php$adresse="monadressemail";$from="From: $requiredPrenom $requiredNom<$requiredEmail>\r\n";$from.="Reply-To: $requiredPrenom $requiredNom <$requiredEmail>\n";$from.="X-priority:3\n";$sujet.="$requiredSujet";$texte="<html>";$texte.="$requiredcommentaires";$texte.="</html>";$from.="MIME-Version: 1.0\r\n";$from.="Content-Type: text/html"; if (mail($adresse,$sujet,$texte,$from)){include("index.php"); header_litzler(); echo"<center><font color=blue><br><h4>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h4></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center><br>";footer_litzler();}else {include("index.php"); header_litzler(); echo"<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href='mailto:$adresse'>classiquement</a>";footer_litzler();}?> Modifié 29 Décembre 2005 par ricus1er Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 29 Décembre 2005 Partager Posté 29 Décembre 2005 if (mail($adresse,$sujet,$texte,$from)){ Il faut savoir que la fonction 'mail' renvoie toujours un booléen. Sinon, essaies d'afficher le texte que tu envoies dans ton mail, avant de l'envoyer. echo"<p>adresse : -".$adresse."-";echo"<p>sujet : -".$sujet."-";etc.. Au moins, tu en sauras plus sur ce que tu envoies précisément. 2/, enlèves les lignes 'headers' les unes à la suite des autres, histoire de voir où ca plante. Un coup de : // $from="From: $requiredPrenom $requiredNom<$requiredEmail>\r\n";// $from.="Reply-To: $requiredPrenom $requiredNom <$requiredEmail>\n";// $from.="X-priority:3\n";$sujet.="$requiredSujet";$texte="<html>";$texte.="$requiredcommentaires";$texte.="</html>";// $from.="MIME-Version: 1.0\r\n";// $from.="Content-Type: text/html"; et ajoutes y un peu de 'trim' autour des variables que tu recois (et vérifies que ce que tu recois ne comporte rien d'offensif...) Lien vers le commentaire Partager sur d’autres sites More sharing options...
ricus1er Posté 29 Décembre 2005 Auteur Partager Posté 29 Décembre 2005 Ouhla.... J'ai oublié de préciser que je suis un webmaster très débutant. Je me suis inspiré de conseils sur d'autres sites, donc je vais essayer de faire ce que tu as dit, mais j'avoue que j'ai besoin d'une ou deux étapes supplémentaires, parce que tu vas trop vite pour moi. Il faut que je colle le code que tu m'as envoyé dans mon fichier traitement.php, c'est ça ? Merci du tps que tu m'accordes... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 29 Décembre 2005 Partager Posté 29 Décembre 2005 remplaces les lignes suivantes : $from="From: $requiredPrenom $requiredNom<$requiredEmail>\r\n";$from.="Reply-To: $requiredPrenom $requiredNom <$requiredEmail>\n";$from.="X-priority:3\n";$sujet.="$requiredSujet";$texte="<html>";$texte.="$requiredcommentaires";$texte.="</html>";$from.="MIME-Version: 1.0\r\n";$from.="Content-Type: text/html"; par : // $from="From: $requiredPrenom $requiredNom<$requiredEmail>\r\n";// $from.="Reply-To: $requiredPrenom $requiredNom <$requiredEmail>\n";// $from.="X-priority:3\n";$sujet.="$requiredSujet";$texte="<html>";$texte.="$requiredcommentaires";$texte.="</html>";// $from.="MIME-Version: 1.0\r\n";// $from.="Content-Type: text/html"; et juste avant la ligne : if (mail($adresse,$sujet,$texte,$from)){ tu mets : echo"<p>adresse : -".$adresse."-";echo"<p>sujet : -".$sujet."-";echo"<p>texte : -".$texte."-";echo"<p>from : -".$from."-"; Et... Regardes le résultat du code source (pas l'affichage à l'écran.. ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
ricus1er Posté 29 Décembre 2005 Auteur Partager Posté 29 Décembre 2005 C'est ce que j'ai fait. En apparence, rien ne change, mais je reçois le mail suivant de la part de OVH qui ne correspond pas à ce que j'ai écris dans le formulaire : -----Message d'origine----- De : litzler [mailto:nom_AT_60gp.ovh.net] Envoyé : vendredi 30 décembre 2005 00:30 À : Monadressemail Objet : <html></html> Tu as une idée de ce que c'est ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
ricus1er Posté 29 Décembre 2005 Auteur Partager Posté 29 Décembre 2005 Autant pour moi, j'ai pas bien regardé. Une fois que j'ai recopié tout ce que tu m'as dit, j'ai : adresse : -mon adresse- sujet : -- texte : -- from : -- ça veut dire que les contenus ne sont pas détectés, mais je sais pas d'où ça vient... Je vais essayer de voir ce que c'est. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 29 Décembre 2005 Partager Posté 29 Décembre 2005 Ca vient (très probablement) du fait que ton serveur ne récupère pas automatiquement les variables postées par POST. Donc, toutes les variables du formulaire doivent être appelées ainsi : $_POST['sujet'] au lieu de $sujet. Essaies ceci, tant qu'à faire : echo"<p>sujet : -".$_POST['sujet']."-";echo"<p>texte : -".$_POST['texte']."-";echo"<p>from : -".$_POST['from."-"; Une précision : Les tirets que je mets de chaque coté de la variable sont faits pour : 1/ détecter si la variable n'affiche pas un espace (ce que l'on ne détecterait pas si l'on n'avait pas un caractère de fin) 2/ détecter les retour chariots Voilà. ps : ton 'monadressemail' est en clair, dans ton 2e message. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ricus1er Posté 30 Décembre 2005 Auteur Partager Posté 30 Décembre 2005 ça y est, c'est quasiment réglé. Merci beaucoup pour ton aide, sur ce forum ou en dehors !! A bientôt Eric Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant