formulaire de contact ne fonctionne pas
Posté : 29 oct. 2011, 13:51
Bonjour,
J'ai acheté un site avec à l'intérieur un formulaire que j'ai en partie modifié selon mes exigences, mais celui-ci ne fonctionne pas dans le sens ou je ne reçois pas de mail alors qu'il semble partir correctement selon le formulaire. Je suis grand débutant en php, alors je viens solliciter votre aide...
Voici un lien vers la page provisoire :http://www.charlesetstone.fr/test/index-5.html
voici le code du formulaire présent dans la page html :
et voici le code php qui s'y rattache via un fichier MailHandler.php :
Qu'est-ce qu'il me manque pour que ça fonctionne correctement ?
D'avance je vous dis un très grand merci pour votre aide.
J'ai acheté un site avec à l'intérieur un formulaire que j'ai en partie modifié selon mes exigences, mais celui-ci ne fonctionne pas dans le sens ou je ne reçois pas de mail alors qu'il semble partir correctement selon le formulaire. Je suis grand débutant en php, alors je viens solliciter votre aide...
Voici un lien vers la page provisoire :http://www.charlesetstone.fr/test/index-5.html
voici le code du formulaire présent dans la page html :
Au début de ma page html, dans les balises <head> j'ai également ça :<form action="MailHandler.php" method="post" id="contact-form">
<div class="success"> Votre message a bien été envoyé!<br>
<strong>Vous serez contacté prochainement.</strong> </div>
<fieldset>
<label class="name">
<input type="text" value="Nom:">
<span class="error">*Votre nom n'est pas correct.</span> <span class="empty">*Cette case est vide.</span> </label>
<label class="email">
<input type="email" value="E-mail:">
<span class="error">*Votre adresse email n'est pas correct.</span> <span class="empty">*Cette case est vide.</span> </label>
<label class="objet">
<input type="text" value="Objet:">
<span class="error">*Votre objet n'est pas correct.</span> <span class="empty">*Cette case est vide.</span> </label>
<label class="message">
<textarea>Message:</textarea>
<span class="error">*Le message est trop court.</span> <span class="empty">*Cette case est vide.</span> </label>
<div class="clear"></div>
<div class="btns"><a href="#" class="button" data-type="reset">Nettoyer</a><a href="#" class="button" data-type="submit">Envoyer</a></div>
</fieldset>
</form>
Avec mon adresse mail à la place de [email protected]
et voici le code php qui s'y rattache via un fichier MailHandler.php :
lors de mon achat il existait également un fichier nommé MailHandler.ashx, je me suis dis qu'il fallait choisir entre le fichier php et le fichier ashx, du coup je n'ai pas tenu compte de celui-ci (auquel je ne comprend pas grand chose en plus), je ne pense pas m'être trompé mais bon... Au cas ou voici à quoi ressemble ce fichier :<?php
$owner_email = $_POST["owner_email"];
$headers = 'From:' . $_POST["email"];
$subject = 'Nouveau message de votre Site Web ' . $_POST["name"];
$messageBody = "";
$messageBody .= '<p>Visiteur: ' . $_POST["name"] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
$messageBody .= '<p>Addresse Email: ' . $_POST['email'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
$messageBody .= '<p>Objet: ' . $_POST['objet'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
$messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";
if($_POST["stripHTML"] == 'true'){
$messageBody = strip_tags($messageBody);
}
try{
if(!mail($owner_email, $subject, $messageBody, $headers)){
throw new Exception('mail failed');
}else{
echo 'mail sent';
}
}catch(Exception $e){
echo $e->getMessage() ."\n";
}
?>
Je n'ai touché à rien sur celui-ci.<%@ WebHandler Language="C#" Class="Handler" Debug="true" %>
using System;
using System.Web;
using System.Net.Mail;
using System.Text.RegularExpressions;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
SmtpClient mailClient = new SmtpClient(context.Request.Form.Get("smtpMailServer"));
string owner_email = context.Request.Form.Get("owner_email");
string subject = "A message from your site visitor " + context.Request.Form.Get("name");
string email = context.Request.Form.Get("email");
string messageBody = "";
messageBody += "<p>Visitor: " + context.Request.Form.Get("name") + "</p>\n";
messageBody += "<br>\n";
messageBody += "<p>Email Address: " + context.Request.Form.Get("email") + "</p>\n";
messageBody += "<br>\n";
messageBody += "<p>Phone Number: " + context.Request.Form.Get("phone") + "</p>\n";
messageBody += "<br>\n";
messageBody += "<p>Message: " + context.Request.Form.Get("message") + "</p>\n";
MailMessage message = new MailMessage();
try{
message.From = new MailAddress(email.ToString());
}catch (FormatException e) {
context.Response.Write(e.Message);
}
message.To.Add(owner_email);
message.Subject = subject;
if(context.Request.Form.Get("stripHTML") == "true"){
message.IsBodyHtml = false;
messageBody = Regex.Replace(messageBody, "<.*?>", string.Empty);
}else{
message.IsBodyHtml = true;
}
message.Body = messageBody;
try{
mailClient.Send(message);
}catch (SmtpException e) {
context.Response.Write("mail failed");
}
context.Response.Write("mail sent");
}
public bool IsReusable {
get {
return false;
}
}
}
Qu'est-ce qu'il me manque pour que ça fonctionne correctement ?
D'avance je vous dis un très grand merci pour votre aide.