> 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 ?

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

@+

Publicité
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Portable 15.6 pouces Lenovo Legion 5i (FHD 165Hz IPS, Core i5-12500H, 16 Go DDR5, SSD NVMe Gen4 512 Go, GeForce RTX 3060, Windows 11) à 999 €
999 € 1499 € -33% @Lenovo

Lenovo fait une promotion sur le PC portable Lenovo Legion 5i Gen7 qui passe à 999 € au lieu de 1499 €. Ce PC portable très bien équipé possède un écran 15.6 pouces LED Full HD IPS 165 Hz, un processeur Intel Core i5-12500H, 16 Go de RAM DDR5-4800, un SSD de 512 Go NVMe PCIe 4 et une carte graphique GeForce RTX 3060 6 Go 140W dédiée. Le tout tourne sous Windows 11.

Une belle config adaptée à tous les usages avancés.


Voir le bon plan
Kit de 16 Go (2x8Go) de mémoire DDR4 Corsair Vengeance RGB Pro 3200 MHz à 54,94 €
54,94 € 80 € -31% @Amazon

Amazon fait une promotion sur le kit de 16 Go (2x8 Go) de mémoire DDR4 Corsair Vengeance RGB Pro 3200 MT/s CL16 à 54,94 € alors qu'on le trouve ailleurs autour de 80 €. Vous pourrez personnaliser la palette de couleurs directement depuis le logiciel Corsair iCU.


Voir le bon plan
Smartphone 6.71 pouces Xiaomi Redmi 10C (3 Go / 64 Go) à 103 €
103 € 149 € -31% @Cdiscount

Cdiscount fait une promotion sur le smartphone 6.71 pouces Xiaomi Redmi 10C qui passe à 103 € au lieu de 149 €. Ce smartphone dispose d'un écran 6.71 pouces HD+, un processeur 8 coeurs Snapdragon 680, 3 Go de mémoire, de 64 Go d'espace de stockage extensible par microSD, d'un double APN 50MP, du bluetooth, du Wifi. Il est compatible avec les fréquences 2G, 3G et 4G. Le tout tourne sous Android 11 avec une surcouche Xiaomi. La batterie est de haute capacité 5000 mAh à charge rapide 18W.

Un portable d'entrée de gamme complet idéal pour un pré ado.


Voir le bon plan
Tour PC Lenovo IdeaCentre G5 (Core i5-11400F, 16 Go RAM, SSD 512 Go, GeForce RTX 3060 12Go) à 699,99 €
699,99 € 929,99 € -25% @Cdiscount

CDiscount fait une promotion sur la tour PC IdeaCentre G5 à 699,99 € avec le code STAR50LEN alors qu'on la trouve habituellement à 929 €. Cette tour très bien équipée possède un processeur Intel Core i5-11400F, 16 Go de RAM DDR4 3200 MHz (extensible à 32 Go), un SSD NVMe M.2 de 512 Go et une carte graphique GeForce RTX 3060 12 Go. Un clavier et une souris sont également fournis.

Une bonne affaire pour un PC qui sera à l'aise dans toutes les situations et tous les jeux.


Voir le bon plan
Fauteuil relax de jardin Blumfeldt California à 47,99 €
47,99 € 89,99 € -47% @Amazon

Amazon fait une promotion sur le fauteuil relax de jardin Blumfeldt California qui passe à 47,99 € livré gratuitement grâce à un coupon de réduction à activer sur la page du produit au lieu de 89,99 €. Rembourrage de 4cm, Suspension a Ressort, Oreiller Amovible, système PureRelaxation, Motifs Losanges, Marron.


Voir le bon plan
SSD WD Black SN770 1 To (PCIe Gen4, NMVe M.2, 5150 Mo/s) à 80,57 € livré
80,57 € 100 € -19% @Amazon

Amazon Royaume-Uni fait une promotion sur le SSD WD Black SN770 1 To (NMVe M.2) qui passe à 65,58 £. Avec la conversion en euros et la livraison en France, il vous reviendra à 80,57 € tout compris alors qu'on le trouve ailleurs à partir de 100 €.

Ce SSD utilise une interface M.2 NVMe PCIe Gen4 pour une connexion simple et des performances exceptionnelles : jusqu’à 5150 Mo/s en lecture séquentielle et jusqu’à 4900 Mo/s en écriture séquentielle. Le SSD est doté de la technologie 3D TLC NAND haute densité offrant une endurance d’écriture durable et assorti d’une garantie de cinq ans. Ce SSD est bien sûr compatible PC mais également PS5.


Voir le bon plan

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