× 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
199,99 €Ecran PC LED 28 pouces Samsung U28E590 (4K UHD, 1 ms, Freesync) à 199,99 €
Valable jusqu'au 24 Novembre

Boulanger fait une belle promotion sur l'écran PC LED 28 pouces Samsung U28E570DS qui passe à 199,99 € alors qu'on le trouve ailleurs à partir de 249 €. Cet écran au format 16/9 offre une dalle 4K (résolution 3840x2160) avec un temps de réponse de 1 ms. Il est compatible FreeSync. Une bonne affaire !


> Voir l'offre
74,58 €Ecouteurs intra-auriculaires sans fil Bluetooth Jabra Elite 65t à 74,58 € livrés
Valable jusqu'au 25 Novembre

Amazon Allemagne fait une promotion sur les écouteurs intra-auriculaires sans fil Bluetooth Jabra Elite 65t qui passent à 69,58 € (avec la TVA ajustée). Comptez 5 € pour la livraison en France soit un total de 74,58 € livrés. On les trouve ailleurs à partir de 100 €. Pensés pour vous permettre de vivre votre musique comme vous l'entendez et pour assurer des conversations d'une grande clarté, les écouteurs Jabra Elite 65t ont tout pour vous séduire ! Côté son, l'égaliseur personnalisable vous permet d'ajuster le rendu sonore tandis que la technologie avancée à quatre microphones supprime les bruits de fond lors des appels pour des conversations limpides. Au quotidien, ces écouteurs Jabra restent parfaitement en place et proposent même une fonction de commande vocale simplifiée. Enfin, vous apprécierez les 5 heures d'autonomie avec une seule charge, qui se transforment en 15 heures avec l'étui de recharge compact.  Le Jabra Elite 65t est certifié IP55 et offre une garantie de 2 ans contre l’humidité et la poussière. Où que vous soyez et quelle que soit votre activité, vous profitez d’une liberté absolue pour les appels et la musique. 


> Voir l'offre
129,99 €Ecran 24,5 pouces Iiyama Black Hawk G2530HSU-B1 à 129,99 €
Valable jusqu'au 25 Novembre

Boulanger fait une promotion sur l'écran 24,5 pouces Iiyama Black Hawk G2530HSU-B1 qui passe à 129,99 € alors qu'on le trouve ailleurs à partir de 169 €. Cet écran à bord fin est FullHD (1920x1080px), offre un temps de réponse de 1 ms, une vitesse de rafraichissement de 75 Hz. Il est compatible FreeSync.


> 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