erreur 500 : problème envoi de formulaire par mail

erreur 500 : problème envoi de formulaire par mail - PHP - Programmation

Marsh Posté le 17-10-2008 à 21:17:31    

Bonjour. J'ai créé pour une amie un site web avec dans une page "contact" un formulaire (nom/email/message) qui envoie un mail à une personne prédéfinie en passant par un fichier "do_sendform.php" dont voici le code:
 

Code :
  1. <?php
  2. $msg = "Sender Name:\t$sender_name\n";
  3. $msg .= "Sender E-Mail:\t$sender_email\n";
  4. $msg .= "Message:\t$message\n\n";
  5. $recipient = "#@#.com";
  6. $subject = "email depuis le site #.fr";
  7. $mailheaders = "From: # <#@#.com> \n";
  8. $mailheaders .= "Reply-To: $sender_email\n\n";
  9. mail($recipient, $subject, $msg, $mailheaders);
  10. echo "<HTML><HEAD>";
  11. echo "<TITLE>Message envoyé !</TITLE></HEAD><BODY>";
  12. echo "<H1 align=center>Merci, $sender_name</H1>";
  13. echo "<P align=center>";
  14. echo "Votre message a été envoyé.</P>";
  15. echo "<P align=center>";
  16. echo "<a href=http://#.chez-alice.fr/>Revenir au site</a></P>";
  17. echo "</P>";
  18. echo "</BODY></HTML>";
  19. ?>


 
Ce code est le même que celui que j'ai sur mon propre site, qui fonctionne très bien.
Lorsque son site, alors que je le fabriquais, était sur mon serveur pour qu'elle puisse voir et commenter l'évolution, cette page de contact fonctionnait également très bien et elle recevait les emails envoyés depuis le formulaire. Je lui ai tout zippé, tout envoyé, et elle a tout mis sur son serveur (qui, soit-dit en passant, est hebergé dans les pages perso de Alice.fr) et depuis ça affiche une erreur 500. J'ai fouillé quelques sujets de forums sur internet mais rien trouvé. Donc me voici à poser ma question.
 
Etienne.
 
ps: j'ai remplacé tous ce qui concernait mon amie dans le code par des # ;)


Message édité par tbfdm le 18-10-2008 à 11:03:55
Reply

Marsh Posté le 17-10-2008 à 21:17:31   

Reply

Marsh Posté le 17-10-2008 à 22:06:10    

Y'a une faille de sécurité, on peut injecter des headers via la variable $sender_email qui n'est pas sécurisée. Faut y enlever les retours chariot potentiellements présents.
 
L'erreur 500, c'est lors de l'envoi du formulaire ? Ou à l'affichage initial ?

Reply

Marsh Posté le 18-10-2008 à 11:01:34    

L'erreur 500 c'est lors de l'envoi du formulaire. Voici le code de la page html contenant le formulaire, et qui appelle le php:
 

Code :
  1. <FORM METHOD="POST" ACTION="do_sendform.php" ENCTYPE="x-www-form-urlencoded">
  2. <P><CENTER><FONT FACE="Tahoma">Votre nom :</FONT><BR>
  3. <INPUT TYPE="text" NAME="sender_name" SIZE="30"></CENTER></P>
  4. <P><CENTER><FONT FACE="Tahoma">Votre email :</FONT><BR>
  5. <INPUT TYPE="text" NAME="sender_email" SIZE="30"></CENTER></P>
  6. <P><CENTER><FONT FACE="Tahoma">Votre message :</FONT><BR>
  7. <TEXTAREA NAME="message" COLS="30" ROWS="5"></TEXTAREA><BR>
  8. <BR>
  9. <INPUT TYPE="submit" VALUE="envoyer"></CENTER></FORM>


 
Le tout étant évidemment entouré des balises head et body. Le truc c'est que ça fonctionne quand c'est sur le serveur de mon site, pourquoi ça ne fonctionne pas sur le sien ? Comment enlever les retours chariot ?
 
Etienne

Reply

Marsh Posté le 18-10-2008 à 16:08:35    

up ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed