× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum des Webmasters
 Pas de mail recu avec formulaire html et phpSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Claudie972
  Posté le 27/02/2012 @ 22:40 
Aller en bas de la page 
Nouvelle astucienne

j'envoie un mail par l'intermediaire d'un formulaire, ma page succes.html arrive bien pourtant je ne recois pas le mail. je ne trouve pas mon erreur, si quelqu'un pouvait m'aider ce serait vraiment sympa !

mon code html

<h2>Contactez-nous</h2>

<div id="contact_form">

<form id="form2" method="post" action="scripts/email.php">

<fieldset> <input id="con_name" name="con_name" value="Nom:" alt="" type="text" /><br />

<input id="con_email" name="con_email" value="E-mail:" alt="" type="text" /><br /> <input id="con_website" name="con_website" value="Sujet:" alt="" type="text" /><br />

<textarea id="con_mess" name="con_mess" cols="0" rows="0">Message:</textarea><br />

<input id="contact-submit" value="Valider" type="submit" />

<input id="contact-clear" value="Annuler" type="button" /> </fieldset> </form> </div>

Mon fichier email.php

<?php

require("config.inc.php");

if(isset($_POST['con_email']) && isset($_POST['con_name']) && isset($_POST['con_mess'])) { $headers = "From: ".$_POST['con_name']."<".$_POST['con_email'].">\r\n"; $headers .= "X-Sender: ".$_POST['con_email']."\r\n"; $headers .= "X-Mailer: PHP/".phpversion()."\r\n"; $headers .= "X-Priority: 2\r\n"; $headers .= "Return-Path: ".$_POST['con_email']."\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/plain; charset=\"US-ASCII\"\r\n"; $headers .= "Content-Transfer-Encoding: 7bit\r\n";

if(mail($to, $titre, $_POST['con_mess'], $headers)) { header("Location:../".$lienOK); } else { header("Location:../".$lienPasOK); } } else { header("Location:../".$lienPasOK); } ?>

mon fichier config.inc.php

<?php /* Inserer ici votre courriel */ $to = "sosanimauxdecompagnie@gmail.fr";

/* Inserer ici le titre quand on vous envoie un message */ $titre = "Contact SOS ANIMAUX DE COMPAGNIE";

/* Inserer ici le nom de la page lorsque le message a été envoyé avec succès */ $lienOK = "succes.html";

/* Inserer ici le nom de la page lorsque le message n'a pas été envoyé avec succès */ $lienPasOK = "echec.html";

?>

Voila je recois bien le message successful de la pagesucces.html pourtant je ne recois pas le mail !!!

Publicité
y.bli
 Posté le 28/02/2012 à 11:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Bonjour,

Peux-tu faire l'essai de remplacer le code de ta page email.php par celui ci-dessous :

___________________________________________

<?php

$to = "sosanimauxdecompagnie@gmail.fr";
$titre = "Contact SOS ANIMAUX DE COMPAGNIE";

mail($to, $titre, $_POST['con_mess'], $headers);

?>

____________________________________________

évidemment tu conserves la page précédente et tu fais un essai d'envoi

@+

Claudie972
 Posté le 28/02/2012 à 13:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

J'ai modifié comme tu l'as dit (enore merci de m'aider) et du coup j'ai un message d'erreur :

Notice: Undefined variable: headers in /homez.517/sosanima/www/scripts/email.php on line 6

si je supprime le $header cela fonctionne donc c'est dans la récup des headers que j'ai merdu ?

y.bli
 Posté le 28/02/2012 à 13:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Avant la commande mail, ajoute la ligne :

$headers = "From: site machintruc <sosanimauxdecompagnie@gmail.fr>";

je fais l'essai du plus simple au plus compliqué, de toutes façons, tu avais un if qui n'était pas fermé

@+




Modifié par y.bli le 28/02/2012 13:57
y.bli
 Posté le 28/02/2012 à 13:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

le premier if

je ne corrige pas mes messages précédents pour qu'ils ne soient pas interprétés par le forum...

@+

Claudie972
 Posté le 28/02/2012 à 14:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

non cela ne fonctionne pas, j'ai vraiment un problème ave mes headers mais je ne vois pas ou ...

si je les enlève cela fonctionne

y.bli
 Posté le 28/02/2012 à 14:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien
Claudie972 a écrit :

non cela ne fonctionne pas, j'ai vraiment un problème ave mes headers mais je ne vois pas ou ...

si je les enlève cela fonctionne

tu as essayé en fermant le dernier if ?

à la fin de la ligne .....$headers .= "Content-Transfer-Encoding: 7bit\r\n"; }

@+

Claudie972
 Posté le 28/02/2012 à 14:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

Donc je confirme si j'envoie $headers je ne recois rien, si je l'enlève de ma ligne mail, je recois le message !!! ?????

Claudie972
 Posté le 28/02/2012 à 14:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

Si je ferme avec } là ou tu me l'indique il me fait une erreur de synthaxe sur la ligne, le dernier if est fermé devant le dernier else, tu penses que je le ferme au mauvais endroit ?

Publicité
y.bli
 Posté le 28/02/2012 à 14:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien
Claudie972 a écrit :

Si je ferme avec } là ou tu me l'indique il me fait une erreur de synthaxe sur la ligne, le dernier if est fermé devant le dernier else, tu penses que je le ferme au mauvais endroit ?

ah oui j'avais lu rapidement, mais présenté comme ça sans passer à la ligne pas facile à lire...

mets tes variable headers sur des lignes différentes pour voir où ça coince



Modifié par y.bli le 28/02/2012 14:31
Claudie972
 Posté le 28/02/2012 à 14:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

Oui effectivement je ne le ferme pas, j'ai donc essayé en refermant en dernière ligne toujours même résultat (pas de reception de mail !)!

Ce qui est surprenant c'est que j'utilise exactement les mêmes scripts sur un autre site et cela fonctionne très bien ! J'ai juste changé le nom de mes variables !!! Cela fait une semaine que je suis là dessus et là franchement je n'y comprends rien !

Claudie972
 Posté le 28/02/2012 à 14:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

Oui excuse moi je demande de l'aide et je mets mon script en vrac

<?php

require("config.inc.php");

if(isset($_POST['con_email']) && isset($_POST['con_name']) && isset($_POST['con_mess']))

{ $headers = "From: ".$_POST['con_email'].">\r\n";

$headers .= "X-Sender: ".$_POST['con_email']."\r\n";

$headers .= "X-Mailer: PHP/".phpversion()."\r\n";

$headers .= "X-Priority: 2\r\n";

$headers .= "Return-Path: ".$_POST['con_email']."\r\n";

$headers .= "MIME-Version: 1.0\r\n";

$headers .= "Content-Type: text/plain; charset=\"US-ASCII\"\r\n";

$headers .= "Content-Transfer-Encoding: 7bit\r\n";

if(mail($to, $titre, $_POST['con_mess'], $headers)) { header("Location:../".$lienOK); }

else { header("Location:../".$lienPasOK); } }

else { header("Location:../".$lienPasOK); } ?>

voilà j'espère que c'est plus facile à étudier, je confirme que si je laisse mon script tel quel en retirant $headers dans la commande mail tout fonctionne ok je recois le mail

y.bli
 Posté le 28/02/2012 à 14:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

j'ai fait un essai de ton code sur un de mes sites et les headers fonctionnent...

je dois partir maintenant, je verrai plus tard si tu n'as pas trouvé d'ici là...

@+

Claudie972
 Posté le 28/02/2012 à 14:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

Alors j'ai réécris mon email.php à la main et cela fonctionne, en faisant mon copié collé j'ai dû intégrer un caractère quelconque que le serveur n'aimait pas du tout donc tout est ok

Merci de ton aide

y.bli
 Posté le 28/02/2012 à 19:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien
Claudie972 a écrit :

Alors j'ai réécris mon email.php à la main et cela fonctionne, en faisant mon copié collé j'ai dû intégrer un caractère quelconque que le serveur n'aimait pas du tout donc tout est ok

Merci de ton aide

C'est bien, merci pour le retour d'info

@+

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
26,99 €Clé USB 3.0 et Micro USB Sandisk Ultra OTG 128 Go à 26,99 €
Valable jusqu'au 30 Mai

Amazon fait une promotion la nouvelle version de la clé USB 3.0 SanDisk Dual Drive 128 Go qui passe à 26,99 € livrée gratuitement. La particularité de cette clé USB réside dans le fait qu'elle dispose à la fois d'un connecteur USB pour la brancher sur votre ordinateur ou votre TV, mais également d'un connecteur micro USB pour la brancher sur votre smartphone ou votre tablette. Compatible USB 3.0 (et 2.0), cette clé USB offre des débits jusqu'à 150 Mo/s. 


> Voir l'offre
69,99 €Enceinte connectée Amazon Echo avec assistant Alexa à 69,99 €
Valable jusqu'au 27 Mai

Amazon propose l'enceinte Echo de 3ème génération à 69,99 € (au lieu de 99,99 €). L'appareil piloté par la voix fonctionne avec Alexa, l’intelligence artificielle développée par Amazon. Vous pourrez avec elle écouter de la musique, interagir avec vos appareils domotiques, écouter les infos, la radio, connaître la météo et d’accéder à des milliers d’autres possibilités grâce aux Skills : recettes de cuisine, petits jeux, etc. Par rapport à la génération précédente, le son est amélioré et l'enceinte arbore un nouveau design. L'enceinte est équipée du son Dolby qui remplira la pièce d'un son immersif et omnidirectionnel, avec des voix nettes, des basses profondes et des aigus clairs à volume élevé. Grâce à ses sept microphones, ses technologies de beamforming et de réduction du bruit, Amazon Echo vous entend où que vous soyez dans la pièce, même lorsqu'il y a de la musique. 


> Voir l'offre
83,60 €Disque dur externe portable Maxtor M3 USB 3.0 4 To à 83,60 €
Valable jusqu'au 28 Mai

Amazon propose actuellement le disque dur externe portable Seagate M3 4 To à 83,60 € livré gratuitement. Le disque dur dispose d'une connectique USB 3.0 compatible USB 2.0 et offre des débits d'environ 115 Mo/s en lecture et écriture. Seagate ayant racheté les branches disques durs de Samsung et Maxtor, vous pouvez donc trouver le logo Maxtor, Samsung ou Seagate sur ce disque dur M3. 


> Voir l'offre

Sujets relatifs
Formulaire & Pièce Jointe par Mail (HTML/Php)
Help Malcom : formulaire mail php avec copie caché
Formulaire HTML avec DreamWeaver CS3
formulaire avec adresse mail à saisir
Formulaire d'inscription avec confirmation mail
problème formulaire par mail avec FREE
formulaire mail avec plusieurs contacts
Codage HTML dans Dreamweaver avec une template Photoshop
Formulaire qui ne fonctionne pas avec Joomla
Envoi checkbox par mail dans formulaire php
Plus de sujets relatifs à Pas de mail recu avec formulaire html et php
 > Tous les forums > Forum Forum des Webmasters