Page 1 sur 1

problème d'envoi de mail via mon formulaire

Posté : 21 juil. 2011, 16:55
par manybox2000
Bjr je suis nouveau en programmation et PHP en particulier.Je develope un site pour une société et je souhaiterais envoyé par email les données du formulaire remplis au préalable,mais depuis 2jours cela ne marche pas.Lorsque j'exécute mon code le message de confirmation d'envoi s'affiche mais je ne recois rien dans ma boite email.j'utilise un hébergeur gratuit pour ma phase de test en ligne.Voici le code en question:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php if ($_POST['message'] == "") { ?>
<form name="envoiemail" id="envoiemail" method="post" action="">
<p>Votre nom :<br />
<input name="nom" type="text" id="nom" />
</p>
<p>Votre email :<br />
<input name="email" type="text" id="email" />
</p>
<p>Sujet de votre email :<br />
<input name="sujet" type="text" id="sujet" />
</p>
<p>Message :<br />
<textarea name="message"></textarea>
</p>
<p>
<input name="Submit" type="submit" onclick="MM_validateForm('nom','','R', 'email','','NisEmail','sujet','','R','textarea','','R');return document.MM_returnValue" value="Envoyer" />
</p>
</form>
<?php } else {
mail("[email protected]", $_POST['sujet'], $_POST['message'],"From: ".$_POST['nom']."<".$_POST['email'].">");
?>
<p>Le message a bien &eacute;t&eacute; envoy&eacute;, merci.</p>
<?php } ?>

</body>
</html>

Merci de bien vouloir m'aider car je dois rendre le travail lundi matin :( :( :( !

Re: problème d'envoi de mail via mon formulaire

Posté : 21 juil. 2011, 18:02
par Ryle
Est-ce que le mail est réellement bien envoyé ?

En effet, dans ton code tu demandes à php d'envoyer un mail puis d'afficher le message de confirmation, mais ce dernier s'affichera même si le mail n'est pas parti. Vérifies le retour de la fonction mail() pour voir s'il y a eu ou non une erreur lors de l'envoi. En cas d'erreur, ben le message devrait t'aider à y voir plus clair (genre erreur dans le mail de l'expéditeur, serveur smtp mal configuré, ou débordé, ou... bref, faut voir le message d'erreur :))

S'il n'y a pas d'erreur, c'est que php est bien parvenu à envoyer le mail. Reste encore à savoir si ton client de messagerie ne l'a pas rangé dans les indésirables, ou bloqué comme étant du spam, etc.

Re: problème d'envoi de mail via mon formulaire

Posté : 21 juil. 2011, 18:11
par manybox2000
aucun message d'erreur ne s'affiche,mais le message de confirmation si sans pour autant que je recoive le mail,ca m'énnerve pouffffffffffff!

Re: problème d'envoi de mail via mon formulaire

Posté : 21 juil. 2011, 18:55
par Ryle
Pour le message de confirmation, c'est normal, c'est toi qui demande à php de l'afficher quoi qu'il arrive.. php se contente de faire ce que tu lui demandes ;)

Ajoute un test autour, ce sera déjà plus efficace :
if ( mail( ....)) {
  // affiche le message de confirmation
}
else {
  // affiche un message d'erreur 
}
A partir de là, si php continue d'afficher le message de confirmation c'est que de son côté le boulot a été fait, le mail a été envoyé. As-tu essayé avec un autre destinataire ? peut être est-ce yahoo qui considère que c'est du spam et détruit le mail avant qu'il n'arrive dans ta boite... quid des indésirables ?