Hallo!
Ich mache für meine Schwiegereltern (Tischlerei) gerade eine neue Website. Nun hab ich in der index-Datei (html) ein Kontaktformular eingebunden. Es kommt auch die Meldung, dass die E-Mail erfolgreich gesendet wurde, leider kommt sie jedoch nicht an.
Code in der html Index-Datei:
Code
- <form name="sentMessage" id="contactForm" novalidate>
- <div class="row">
- <div class="col-md-6">
- <div class="form-group">
- <input type="text" 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" 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>
- </div>
- </div>
- </div>
Außerdem den Verweis
in der index-Datei.
Inhalt der contact_me.js JavaScript-Datei:
Code
- $(function() {
- $("input,textarea").jqBootstrapValidation({
- preventSubmit: true,
- submitError: function($form, event, errors) {
- // additional error messages or events
- },
- submitSuccess: function($form, event) {
- event.preventDefault(); // prevent default submit behaviour
- // get values from FORM
- var name = $("input#name").val();
- var email = $("input#email").val();
- var message = $("textarea#message").val();
- var firstName = name; // For Success/Failure Message
- // Check for white space in name for Success/Fail message
- if (firstName.indexOf(' ') >= 0) {
- firstName = name.split(' ').slice(0, -1).join(' ');
- }
- $.ajax({
- url: "././mail/contact_me.php",
- type: "POST",
- data: {
- name: name,
- email: email,
- message: message
- },
- cache: false,
- success: function() {
- // Success message
- $('#success').html("<div class='alert alert-success'>");
- $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
- .append("</button>");
- $('#success > .alert-success')
- .append("<strong>Ihre Nachricht wurde erfolgreich gesendet. </strong>");
- $('#success > .alert-success')
- .append('</div>');
- //clear all fields
- $('#contactForm').trigger("reset");
- },
- error: function() {
- // Fail message
- $('#success').html("<div class='alert alert-danger'>");
- $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
- .append("</button>");
- $('#success > .alert-danger').append("<strong>Tut uns sehr leid " + firstName + ". Wie es aussieht, gibt es ein Server-Problem. Bitte schreiben Sie uns direkt oder kontaktieren Sie uns telefonisch. Wir sind immer erreichbar!");
- $('#success > .alert-danger').append('</div>');
- //clear all fields
- $('#contactForm').trigger("reset");
- },
- })
- },
- filter: function() {
- return $(this).is(":visible");
- },
- });
- $("a[data-toggle=\"tab\"]").click(function(e) {
- e.preventDefault();
- $(this).tab("show");
- });
- });
- /*When clicking on Full hide fail/success boxes */
- $('#name').focus(function() {
- $('#success').html('');
- });
Hier wird auf den Unterordner "mail" und in die darin liegende Datei "contact_me.php" verwiesen.
Inhalt der php-Datei "contact_me.php":
PHP
- <?php
- // Check for empty fields
- if(empty($_POST['name']) ||
- empty($_POST['email']) ||
- empty($_POST['message']) ||
- !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
- {
- echo "No arguments Provided!";
- return false;
- }
- $name = $_POST['name'];
- $email_address = $_POST['email'];
- $message = $_POST['message'];
- // Create the email and send the message
- $to = 'Hier steht meine E-Mailadresse'; // Add your email address inbetween the '' replacing yourname@yourdomain.com - This is where the form will send a message to.
- $email_subject = "Kontaktformular Website: $name";
- $email_body = "Sie haben eine neue E-Mail durch das Kontaktformular auf der Website erhalten.\n\n"."Von:\n\nName: $name\n\nEmail: $email_address\n\nMessage:\n$message";
- $headers = "From: noreply@yourdomain.at\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
- $headers .= "Reply-To: $email_address";
- mail($to,$email_subject,$email_body,$headers);
- return true;
- ?>
Weiß jemand, wo der Fehler liegt?
Vielen lieben Dank im Voraus!
Lg
Max