PHP E-Mail Formular

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • PHP E-Mail Formular

    Guten Tag meine lieben ,

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

    Der Code :

    Source Code

    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. ?>
    Display All


    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.