PHP E-Mail Formular

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • PHP E-Mail Formular

    Guten Tag meine lieben ,

    ich mache es kurz und knapp. Undzwar habe ich ein Problem mit einem Formular .

    Der Code :

    Quellcode

    1. <form action="idee.php" method="post">
    2. Name:<br> <input type="text" name="Name" value="<?php
    3. if (isset($_POST['Name'])) {
    4. echo htmlspecialchars(stripslashes($_POST['Name']));
    5. }
    6. ?>"><br>
    7. E-Mail-Adresse:<br> <input type="text" name="Email" value="<?php
    8. if (isset($_POST['Email'])) {
    9. echo htmlspecialchars(stripslashes($_POST['Email']));
    10. }
    11. ?>"><br>
    12. Idee: <br>
    13. <textarea name="botschaft" cols="50" rows="5">
    14. <?php
    15. if (isset($_POST['botschaft'])) {
    16. echo stripslashes($_POST['botschaft']);
    17. }
    18. ?>
    19. </textarea><br>
    20. <input type="submit" value="Absenden" name="submit">
    21. </form></center>
    22. <?php
    23. if (isset($_POST['submit'])) {
    24. $fehler = false;
    25. $fehlertext = "";
    26. if (empty($_POST['Name'])) {
    27. $fehler = true;
    28. $fehlertext .= "Der Name fehlt!<br>\n";
    29. } elseif (strlen($_POST['Name']) < 3) {
    30. $fehler = true;
    31. $fehlertext .= "Der Name ist zu kurz!<br>\n";
    32. }
    33. $muster = "/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,6}$/";
    34. if (empty($_POST['Email'])) {
    35. $fehler = true;
    36. $fehlertext .= "Die E-Mail-Adresse fehlt!<br>\n";
    37. } elseif (preg_match($muster, $_POST['Email']) == 0) {
    38. $fehler = true;
    39. $fehlertext .= "Die E-Mail-Adresse ist ungültig!<br>\n";
    40. }
    41. if (empty($_POST['botschaft'])) {
    42. $fehler = true;
    43. $fehlertext .= "Das Kommentar-Feld muss ausgefüllt werden!<br>\n";
    44. } elseif (strlen($_POST['botschaft']) < 3) {
    45. $fehler = true;
    46. $fehlertext .= "Der Kommentar ist zu kurz!<br>\n";
    47. }
    48. if ($fehler) {
    49. echo "<p>$fehlertext</p>";
    50. } else {
    51. $mailbody = $_POST['Name'] . " schrieb\n\n";
    52. $mailbody .= $_POST['botschaft'];
    53. $mailbody = stripslashes($mailbody);
    54. $Email = $_POST['Email'];
    55. if (@mail("test@lexi.de", "Feedback", $mailbody, "From: $Email")) {
    56. echo "<p>Danke! Die Botschaft wurde weitergeleitet!</p>\n";
    57. } else {
    58. echo "<p>Leider gab es einen Sendefehler!</p>\n";
    59. }
    60. }
    61. }
    62. ?>
    Alles anzeigen


    Wieso kriege ich die E-Mail nicht zugeschickt?

    Wäre toll wen jemand den Code berichtigen würde & ihn mir verbessert geben würde.

    Liebe Grüße
  • Hi,

    erhälst du immer die Ausgabe "Danke! Die Botschaft wurde weitergeleitet" ? Ansonsten entferne mal das @vor der Mailfunktion, da dadurch alle Fehlermeldugnen unterdrückt werden.

    Es kann auch am Hoster liegen, der nur Absendeadressen der eigenen Domain erlaubt, um Spam und das faken der Absendeadresse (Phishing) zu unterbinden.