[php] Fonction mail() sous IE8
Dernière réponse : dans Programmation
Bonjour à tous,
Encore un qui vient sur ce forum juste quand il a besoin d'aide... qui ne s'est présenté dans la section dédiée,etc...
Oui, ok, c'est vrai je suis coupable! Enfin n'étant pas habitué à participer à des forums je consulte pourtant souvent le forum Tom's Hardware et je dois dire que ça m'a souvent bien aidé !
Voila le contexte
Je ne suis pas un pro de la programmation web, loin de là, cependant je dois développer une petite page de présentation de l'entreprise pour laquelle je travaille en attendant que l'on réalise une vraie page comme il se doit avec des professionnels de ce domaine.
L'idée étant un petit logo.jpg par-ci, un petit texte de présentation html par-là et un formulaire de prise de contact avec récupération du formulaire par email en php.
Et voila mon soucis
Pour la partie htlm, no souçaïlle, par contre la partie .php de récupération du formulaire et de son envoi par la fonction mail() me pose problème.
Tout a bien fonctionné pendant que je testais régulièrement sous Firefox... la petite pop-up "mail envoyé" s'affichait bien, et je recevais mes formulaire sur mon compte mail...
C'est en testant sous divers navigateurs que ça s'est gaté et en particulier pour Internet Explorer 8.
Systématiquement le mail ne part pas...
Est-ce que vous auriez une idée d'où cela peut venir ?
Navigateurs testés
Firefox v3.5.7 : ok
Opera v10.10 : ok
Safari v4.0 : ok
Google Chrome v4.0 : ok
Internet Explorer v8.0.6001.18702IC : no ok
Code :
Dans l'attente d'une réponse,
Regards,
tpixl.
Encore un qui vient sur ce forum juste quand il a besoin d'aide... qui ne s'est présenté dans la section dédiée,etc...
Oui, ok, c'est vrai je suis coupable! Enfin n'étant pas habitué à participer à des forums je consulte pourtant souvent le forum Tom's Hardware et je dois dire que ça m'a souvent bien aidé !
Voila le contexte
Je ne suis pas un pro de la programmation web, loin de là, cependant je dois développer une petite page de présentation de l'entreprise pour laquelle je travaille en attendant que l'on réalise une vraie page comme il se doit avec des professionnels de ce domaine.
L'idée étant un petit logo.jpg par-ci, un petit texte de présentation html par-là et un formulaire de prise de contact avec récupération du formulaire par email en php.
Et voila mon soucis
Pour la partie htlm, no souçaïlle, par contre la partie .php de récupération du formulaire et de son envoi par la fonction mail() me pose problème.
Tout a bien fonctionné pendant que je testais régulièrement sous Firefox... la petite pop-up "mail envoyé" s'affichait bien, et je recevais mes formulaire sur mon compte mail...
C'est en testant sous divers navigateurs que ça s'est gaté et en particulier pour Internet Explorer 8.
Systématiquement le mail ne part pas...
Est-ce que vous auriez une idée d'où cela peut venir ?
Navigateurs testés
Firefox v3.5.7 : ok
Opera v10.10 : ok
Safari v4.0 : ok
Google Chrome v4.0 : ok
Internet Explorer v8.0.6001.18702IC : no ok
Code :
<?php $headers ="From: $email\r\n"; $headers .="Reply-To: $email\n"; $headers .="MIME-Version: 1.0\r\n"; $headers .="Content-Type: text/html\n"; $headers .="Content-Transfer-Encoding: 8bit"; $message ="<html><body>Message de : $nom <br>Societe : $societe<br>Message : $texte.</body></html>"; if(mail('me@gmail.com', 'Formulaire Web envoyé', $message, $headers)) { header('Content-Type: text/html; charset=ISO-8859-1'); echo "<script language=\"javascript\">alert('Le message a bien été envoyé');document.location.href='index2.html'</script>"; } else { header('Content-Type: text/html; charset=ISO-8859-1'); echo "<script language=\"javascript\">alert('Le message n\'a pas été envoyé');document.location.href='index2.html'</script>"; } ?>
Dans l'attente d'une réponse,
Regards,
tpixl.
Autres pages sur : php fonction mail ie8
Lassé par la pub ? Créez un compte
Salut marsien,
merci de ta réponse.
Voici un bout du fichier .html contenant le formulaire :
J'espère que ça répond à ton post,
tpixl.
merci de ta réponse.
Voici un bout du fichier .html contenant le formulaire :
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "<a href="http://www.w3.org/TR/html40/strict.dtd" target="_blank">http://www.w3.org/TR/html40/strict.dtd</a>"> <html> <head> <title>***.fr - Site en construction</title> <meta name="description" content="Etude / Développement / Production d'emballages haut de gamme, écrins, classeurs, calendriers, PLV"> <meta name="keywords" content="Boites montéés recouverts, montée recouvertes, étuis, écrins, haut de gamme, luxe, PLV, calendriers, classeurs"> <meta name="copyright" content="2010, ***.fr"> <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1"> <style type="text/css"> [...] <script type="text/javascript" language="Javascript" > <!-- function verification() { if(document.formulaire.societe.value == "") { alert("Veuillez entrer le nom de votre société"); document.formulaire.societe.focus(); return false; } else if(document.formulaire.nom.value == "") { alert("Veuillez entrer votre nom"); document.formulaire.nom.focus(); return false; } else if(document.formulaire.email.value == "") { alert("Veuillez entrer votre adresse electronique"); document.formulaire.email.focus(); return false; } else if(document.formulaire.email.value.indexOf('@') == -1) { alert("L'adresse email entrée est invalide"); document.formulaire.email.focus(); return false; } else if(document.formulaire.texte.value == "") { alert("Veuillez entrer le texte de votre message"); document.formulaire.texte.focus(); return false; } return true } //--> </script> </head> <body> [...] <h2><a name="formulaire"></a>Formulaire de contact</h2> <form name='formulaire' action='mail.php' method='post' onSubmit="return verification()"> <br> <table> <tr><td>Société : </td><td><input name='societe' type='text' size='50'></td></tr> <tr><td>Nom : </td><td><input name='nom' type='text' size='50'></td></tr> <tr><td>Email</td><td><input name='email' type='text' size='50'></td></tr> <tr><td valign="top">Votre message : </td><td><textarea name='texte' cols='50' rows='20'></textarea></td></tr> <tr><td><input name='annuler' type='reset' value='Effacer'></td><td> <input name='soumettre' type='submit' value='Envoyer'></td></tr> </table> </form> </body> </html>
J'espère que ça répond à ton post,
tpixl.
je te conseillerait de virer ton adresse mail de ton code avant que les spammeurs la repèrent
sinon, t'est sur que ta page est valide ? (http://validator.w3.org/) parce que la mise en page par tableau elle me fait déjà un peu peur ...
sinon, t'est sur que ta page est valide ? (http://validator.w3.org/) parce que la mise en page par tableau elle me fait déjà un peu peur ...
Le code html semble OK. De plus si IE8 renvoie bien les infos du formulaire, l'erreur ne doit pas venir de là.
Il faut par contre faire attention, les variables globales sont dépréciées, voire supprimées des versions récentes de PHP. A la place de $email, $texte, $societe, etc... tu devrais utiliser la variable dédiée $_POST ; ce qui donnera $_POST['email'], $_POST['teste'], $_POST['societe'], etc...
Compare également ce qui est réellement envoyé par IE8 par rapport à unn autre navigateur (Firefox par exemple) : var_dump($_POST);
Enfin, est-ce que ça marche avec IE7 ou le problème est-il général à tous les IE (récents ; on va faire comme Google et considérer que IE6 et précédent n'existent plsu
) ?
PS : je me rappelle aussi d'un vieux sujet où le problème venait de la désactivation des cookies sous IE. Regarde aussi de ce côté-là.
Il faut par contre faire attention, les variables globales sont dépréciées, voire supprimées des versions récentes de PHP. A la place de $email, $texte, $societe, etc... tu devrais utiliser la variable dédiée $_POST ; ce qui donnera $_POST['email'], $_POST['teste'], $_POST['societe'], etc...
Compare également ce qui est réellement envoyé par IE8 par rapport à unn autre navigateur (Firefox par exemple) : var_dump($_POST);
Enfin, est-ce que ça marche avec IE7 ou le problème est-il général à tous les IE (récents ; on va faire comme Google et considérer que IE6 et précédent n'existent plsu
) ?PS : je me rappelle aussi d'un vieux sujet où le problème venait de la désactivation des cookies sous IE. Regarde aussi de ce côté-là.
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :