Kontaktformular sendet keine Daten (e-Mail)

  • Hallo,

    ich habe mal eine Frage:

    Ich habe ein Kontaktformular das per E-Mail dann aus dem Kontaktformular Daten sendet.

    Beim Absenden gibt es keine Fehlermeldung und nach der Bearbeitung kommt auch Feedback (Vielen Dank für Ihre eMail! Wir werden schnellstmöglich diese bearbeiten. ).

    Leider kommt keine E-Mail an .....

    Kann das mit der php Umstellung sein von 5 auf 7 ? Oder wo ist der Fehler ?

    URL: http://og-elbbruecke.de/kontaktformular.php

    Hier mal das Script:

    <html lang="de">

    <head>

    <meta charset="utf-8" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>Titel</title>


    <link rel="stylesheet" href="css/main.css" />

    <link rel="stylesheet" href="css/flexcontainer.css" />

    </head>

    <body bgcolor="#333333">



    <div class="row">

    <div class="col-6 col-12-medium">

    <?php


    $empfaenger = 'meine@adresse.de'; //

    $absender = 'absender@adresse.de';


    if(isset($_POST['abschicken'])){

    if(empty($_POST['name'])) $err[] = '<li>- den Namen angeben</li>';

    if(empty($_POST['email'])) $err[] = '<li>- die Email-Adresse angeben</li>';

    if(empty($_POST['text'])) $err[] = '<li>- welchen Wunsch haben Sie? Bitte den Text eingeben</li>';

    if($_POST['contact_antispam'] != '4' && $_POST['contact_antispam'] != 'vier') $err[] = '<li>- falscher Sicherheitscode</li>';


    if(!empty($err)) {

    echo '<div class="alert alert-danger">Bitte korrigieren Sie folgende Fehler:<br>

    <ul class="list-unstyled content-list text-danger">';

    foreach($err as $fehler){

    echo $fehler;

    }

    echo '</ul></div>';

    } else {


    $mail_header = "From: Dein-Shop <".$absender.">\r\n";

    $mail_header .= "Reply-To: Dein-Shop <".$absender.">\r\n";

    $mail_header .= "X-Sender-IP: ".$_SERVER['REMOTE_ADDR']."\r\n";

    $mail_header .= "MIME-Version: 1.0\r\n";

    $mail_header .= "Content-Type: text/html; charset=UTF-8;\r\n";


    $mailnachricht = '<html><body>';

    while(list($feld,$wert)=each($_POST)) {

    if($feld!="abschicken" && $feld!="contact_antispam") {

    $mailnachricht.=ucfirst($feld).": <br>".preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert)."<br><br>";

    }

    }

    $email = preg_replace("/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $_POST['email']);

    $email = preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $email);

    $mailnachricht.="\nDatum/Zeit: ".date("d.m.Y H:i:s");

    $mailnachricht.= '</body></html>';

    mail($empfaenger, "Kontaktformular domain.de", $mailnachricht,$mail_header);

    echo '<div class="alert alert-success">Vielen Dank für Ihre eMail!<br><br>Wir werden schnellstmöglich diese bearbeiten.</div>';

    $submitted = true;

    }

    }


    if($submitted != true){ ?>

    <form role="form" method="post">


    <div class="row gtr-50">

    <div class="col-6 col-12-small">



    Name / Vorname*

    <input type="text" name="name" value="<?php echo $_POST['name']; ?>">

    </div>

    <div class="col-6 col-12-small">

    Email*

    <input type="text" name="email" value="<?php echo $_POST['email']; ?>">

    </div>

    <div class="col-6 col-12-small">

    Betreff

    <input type="text" name="betreff" value="<?php echo $_POST['betreff']; ?>">

    </div>

    <div class="col-12">

    Ihre Mitteilung*

    <textarea name="text"><?php echo $_POST['text']; ?></textarea>

    </div>

    <div class="col-6 col-12-small">

    Spamschutz*: wie viele Beine hat ein Stuhl?

    <input type="text" value="<?php echo $_POST['contact_antispam']; ?>" name="contact_antispam">

    </div>




    <div class="col-12">

    <ul class="actions">

    <li><input type="submit" class="style1" name="abschicken" /></li>

    <li><input type="reset" class="style2" value="Löschen" /></li>

    </ul>

    </div>






    </form>



    <?php } ?>

    </div>

    </body>

    </html>

  • Oder wo ist der Fehler ?

    Ich sehe 2 Fehler:


    1. Du postest deinen Quellcode ohne die Formatierungsmöglichkeiten des Forums
    2. Du benutzt die mail-Funktion von PHP anstatt eine fertige Mailerklasse w.z.B. den phpMailer

    Die mail-Funktion von PHP ist eine Krücke, die man schnell vergessen sollte. Das Problem sind dabei die Mail-Header. Du kannst gerne die RFC disbezüglich studieren, das sind nur ein paar DIN A4 Seiten, dann klappt es auch mit der mail-Funktion. Oder eben halt z.B. den phpMailer nehmen, der dir das abnimmt und die Wahrscheinlichkeit, dass Mails auch ankommen, deutlich vergrößert.

  • Ich sehe 2 Fehler:


    1. Du postest deinen Quellcode ohne die Formatierungsmöglichkeiten des Forums
    2. Du benutzt die mail-Funktion von PHP anstatt eine fertige Mailerklasse w.z.B. den phpMailer

    Die mail-Funktion von PHP ist eine Krücke, die man schnell vergessen sollte. Das Problem sind dabei die Mail-Header. Du kannst gerne die RFC disbezüglich studieren, das sind nur ein paar DIN A4 Seiten, dann klappt es auch mit der mail-Funktion. Oder eben halt z.B. den phpMailer nehmen, der dir das abnimmt und die Wahrscheinlichkeit, dass Mails auch ankommen, deutlich vergrößert.

    mail() zu benutzen ist kein Fehler ( E-Mails mittels PHP )

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!