• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mail Formular

flobbr

Neues Mitglied
Hallo!

Ich habe mir ein HTML Template einer Website gekauft und dieses nun eigentlich fertig bearbeitet.
Nun gibt es dort ein Formular zum Kontakt aufnehmen. Name Email Adresse und Telefonnummer angeben, Nachricht schreiben, senden drücken --> fertig.

Nur funktioniert das leider nicht ganz, ich weiß nur nicht wo der Fehler liegt.

Hier der Code auf der Index Html:
HTML:
 <div class="col-sm-8 item">
                     <form action="/mail.php" method="POST" id="ajax-contact-form">
                        <div class="row">
                            <div class="col-sm-4">
                                <input name="name" placeholder="Name">
                                <input name="email" placeholder="Email">
                                <input name="telephone"  placeholder="Telefon">
                            </div>
                             <div class="col-sm-8">
                                 <textarea name="message"  placeholder="Nachricht"></textarea>
                                 <a class="submit btn btn-default">
                                     Send
                                 </a>
                <p class="success hidden">Nachricht versendet!</p>
                <p class="error hidden">Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.</p>   
                            </div>
                        </div>
                    </form>
                </div>
Dazu die mail.php:
PHP:
<?php
    require 'phpmailer/PHPMailerAutoload.php';

    $mail = new PHPMailer;

    // $mail->SMTPDebug = 3;                               // Enable verbose debug output

    $mail->isSMTP(smtp.gmail.com);                                      // Set mailer to use SMTP
    $mail->Host = "smtp.gmail.com";  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = "****";                 // SMTP username
    $mail->Password = "*****";                           // SMTP password
    $mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = "465";                                    // TCP port to connect to

    $mail->From = "***";    //Email that will send this message to your email';
    $mail->FromName = "Mail service";//$_POST['name'];
    $mail->addAddress("***", "*****");     // Add a recipient      // Name is optional
    $mail->addReplyTo($_POST['email'], $_POST['name']);

    $mail->WordWrap = 50;                                 // Set word wrap to 50 characters
    $mail->isHTML(true);                                  // Set email format to HTML

    //Set the subject of the email. Here is an example to table booking
    $mail->Subject = $_POST['name'] . ' sent you a message';
    $mail->Body    = '<p>' . $_POST['name'] . '</p>';
    $mail->Body    .= '<table>';
    $mail->Body    .= '<tbody>';
   
    $mail->Body    .= '<tr><td>';
    $mail->Body    .= 'Name: ' . $_POST['name'];
    $mail->Body    .= '</tr></td>';

    $mail->Body    .= '<tr><td>';
    $mail->Body    .= 'Email: ' . $_POST['email'];
    $mail->Body    .= '</tr></td>';

    $mail->Body    .= '<tr><td>';
    $mail->Body    .= 'Message: ' . $_POST['message'];
    $mail->Body    .= '</tr></td>';

    $mail->Body    .= '</tbody>';
    $mail->Body    .= '</table>';
    // $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    if(!$mail->send()) {
        echo 'Message could not be sent.';
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    } else {
        echo 'OK';
    }
?>

Und dann noch zusätzlich Javascript in der main.js:
Code:
(function($) {
    var isSubmitForm = false;
    $("#ajax-contact-form .submit").click(function(e) {
        e.preventDefault();
        if (isSubmitForm)
            return false;

        var str = $("#ajax-contact-form").serialize();       
        var href = $("#ajax-contact-form").attr('action');
        isSubmitForm = true;
        $.ajax({
            type: "POST",
            url: href,
            data: str,
            success: function(msg) {
                isSubmitForm = false;
                // Message Sent - Show the 'Thank You' message and hide the form
                if(msg == 'OK') {
                    $("#ajax-contact-form").find('success').removeClass('hidden');
                } else {
                    $("#ajax-contact-form").find('error').removeClass('hidden');
                }
            }
        });
        return false;
    });
})(jQuery);

Mir wurden diese Dateien so vom Anbieter des Templates zur verfügung gestellt und mir wurde gesagt ich muss lediglich in der Mail.php die Daten meinem Account entsprechend verändern.
Beim Klicken auf den Senden Knopf passiert leider nichts.

Ich bin Anfänger im Thema HTML und hoffe, dass ihr mir trotzdem helfen könnt!

MfG,

flobbr
 
Werbung:
Das ist nicht HTML sondern PHP. Wenn dein Webspace kein PHP kann, dann wird hier auch keine E-Mail verschickt werden.
 
Ich habe die Seite testweise bei bplaced laufen. Müsste das nicht gehen ?

Kann ich das ansonsten lokal testen?
 
Werbung:
Kann ich nicht beurteilen, da ich bplaced nicht verwende. Schau in deine Hosting-Parameter und stell sicher, dass Du PHP-Dateien aufrufst. Lokal kannst Du es ebenso testen, z.B. mit XAMPP, wobei dort der E-Mail-Versand etwas schwieriger ist.
 
Werbung:
Zurück
Oben