Hallo,
ich habe mir mal dein Script angeguckt.
So wie das du den Code mitgegeben hast, funktioniert das nicht. Bitte mal den ganzen code mitgeben.
Habe auf die Shcnelle folgendes getestet.
<form name="sentMessage" id="contactForm" novalidate action="/mail/contact_me.php" method="POST">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" name="name" id="name" class="form-control" placeholder="Ihr Name" required="required">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<input type="email" name="email" id="email" class="form-control" placeholder="Ihre E-Mailadresse" required="required">
<p class="help-block text-danger"></p>
</div>
</div>
</div>
<div class="form-group">
<textarea name="message" id="message" class="form-control" rows="4" placeholder="Ihre Nachricht" required></textarea>
<p class="help-block text-danger"></p>
</div>
<div id="success"></div>
<button type="submit" class="btn btn-custom btn-lg">Senden</button>
</form>
Alles anzeigen
Das JS Script bitte prüfen, ob es auch richtig auf die contact_me.php verweist. Wird diese aufgerufen? Wie bindest du das Script eigentlich ein bzw. führst du es aus? Ich habe es beim Test erstmal ignoriert.
Brauchst du das Script nur zur Überprüfung der Eingaben? Das würde ich alles per PHP machen.
Weiterhin das PHP Script prüfen.
So könnte es gehen. nicht schön, aber machbar.
<?php
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['message']) OR
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo'No arguments Provided!';
return false;
}
else {
$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];
// Create the email and send the message
$to = 'deine@adresse.de'; //Adresse, wohin die Mail geschickt werden soll
$email_subject = $name; // Absendername wird als Betreff gesetzt. Hier kann auch etwas anderes stehen.
$email_body = "Sie haben eine neue E-Mail durch das Kontaktformular auf der Website erhalten.\n";
$email_body .= "Von: .$name \n";
$email_body .= "e-Mail' $email_address \n";
$email_body .= "Nachricht: $message";
$headers = 'info@deinewebseite.de'; //Wird angezeigt, wenn du es brauchst
mail($to,$email_subject,$email_body,$headers);
echo 'Das hat geklappt'; //Hier eine Erfolgsmeldung, dass die Mail verschickt wurde, angeben. oder auf eine andere Seite umleiten.
return true;
}
?>
Alles anzeigen
Auch wenn das da Oben nach einem übernommenen Script aussieht, lege ich dir wärmsten PHP Mailerklasse ans Herz (brauchst dir dann keine großen Gedanken um Header Injection etc. machen), Bitte aber mail() komplett ignorieren. Wird leider immer wieder noch benutzt.
https://github.com/PHPMailer/PHPMailer
http://pear.php.net/package/Mail/
http://swiftmailer.org/