8795 sujets

Développement web côté serveur, CMS

Bonjour
J'ai pas mal écumé le Web et les forums à la recherche de la solution à mon problème, mais sans succès.
J'ai bien trouvé le code ci-dessous, mais il ne m'envoie aucun mail.
Y a-t-il quelque chose que j'ai mal fait ? Y a-t-il peut-être quelque chose à régler du côté de Wamp ?
Avez-vous une autre solution ?
Merci infiniment !

Ma partie HTML :

<form method="POST" action="formmail.php" >
  <fieldset>
  <input type="hidden" name="subject" value="formmail">
       <label for="nom">Nom :</label><input type="text" id="nom" />
       <label for="prenom">Prénom :</label><input type="text" id="prenom" />
       <label for="email">Email :</label><input type="text" id="email" />
       <label><INPUT TYPE="submit" VALUE="Envoyer" ></label>
  </fieldset>
</form>


Ma partie PHP, que j'ai mis dans le <body> :

<?php
$TO = "xxx@gmail.com";

$h = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location:  http://localhost/sfp/fr/");
 

?>
Bonjour
Merci de ta réponse si rapide !
Je n'ai aucun message d'erreur, et ce qui marche bien c'est la redirection vers localhost.
Mais effectivement je ne savais pas qu'il fallait installer un serveur SMTP. Pffff.
Je vais étudier ça alors et je reviendrai peut-être vers toi.
Merci beaucoup
Oulah !


[Wed Jan 19 14:54:56 2011] Smiley error [client 127.0.0.1] PHP Warning: Variable passed to each() is not an array or object in C:\\wamp\\www\\sfp\\fr\\formmail.php on line 15
[Wed Jan 19 14:54:56 2011] Smiley error [client 127.0.0.1] PHP Notice: Undefined variable: subject in C:\\wamp\\www\\sfp\\fr\\formmail.php on line 19
[Wed Jan 19 14:54:57 2011] Smiley error [client 127.0.0.1] PHP Warning: mail() [<a href='function.mail'>function.mail</a>]: Failed to connect to mailserver at &quot;localhost&quot; port 25, verify your &quot;SMTP&quot; and &quot;smtp_port&quot; setting in php.ini or use ini_set() in C:\\wamp\\www\\sfp\\fr\\formmail.php on line 19
Alors j'ai résolu le problème de l'envoi de mail : c'est effectivement à cause du serveur SMTP. Merci !
Je l'ai donc mis sur un serveur et il envoie bien un mail, mais celui-ci m'arrive vide !!!!
Modifié par Fika_ (19 Jan 2011 - 16:15)
Salut,
Il t'envoie exactement ce que tu lui demandes à savoir la variable $message qui contient $message = " "; (rien!).

Tu dois récupérer normalement dans un fichier formail.php (selon ton code) les variables $_POST['nom de ton champs dans le formulaire html'] et tu devrais mettre le code php que tu a mis dans body dans la page de traitement formail.php et rajouter qqch comme ça :

$message=$_POST['nom de ton champs message dans le formulaire html'];
$To="ton adresse mail";
$subject="Message depuis mon site machin truc";
... en fonction des champs remplis par l'utilisateur que tu veux récupérer (ou pas).

Et ensuite tu appelles la fonction mail(...)
Puis enfin la fonction header (location:nom_de_page.html(ou.php));
qui va te rediriger vers une page ou tu mets par exemple Merci de nous avoir contacté !

Et normalement c'est bon (manquerai 2 ou 3 vérifications mais peut être s'y trouvent elles déjà dans formail.php ?).
A+