Kontaktformular funktioniert nicht!

  • PHP

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

  • Kontaktformular funktioniert nicht!

    Mein Kontaktformlar funktioniert nicht :( er schickt mit einfach keine mail.

    PHP-Quellcode

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
    5. <link rel="stylesheet" type="text/css" href="css/default.css" media="screen"/>
    6. <title>Alesh & DJ A.M.</title>
    7. <meta name="title" content="Kontaktformular -- www.gaijin.at">
    8. <meta name="description" content="Kontaktformular von www.gaijin.at">
    9. <meta name="keywords" content="Kontakt, Kontaktformular">
    10. <meta name="author" content="Gaijin">
    11. <meta http-equiv="content-language" content="de-at">
    12. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    13. </head>
    14. <body>
    15. <div class="wrapper">
    16. <div class="container">
    17. <div class="main">
    18. <div class="content">
    19. <div class="title">Alesh & DJ A.M.</div>
    20. <?php
    21. // *** Deine Mailadresse (Empfänger) ***
    22. $mail_to="...@gmx.de";
    23. // *************************************
    24. $from_name=$_POST['fromname'];
    25. $from_mail=strtolower($_POST['frommail']);
    26. $mail_subject=$_POST['mailsubject'];
    27. $mail_text=$_POST['mailtext'];
    28. $send=$_POST['s'];
    29. if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
    30. if(trim($from_mail)=="")
    31. $err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";
    32. else
    33. if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
    34. $err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
    35. if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";
    36. if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br>";
    37. // *** Zu langen Text abschneiden ***
    38. if(strlen($mail_text)>1000) {
    39. $mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)";
    40. }
    41. $from_name=str_replace(chr(34),"''",$from_name);
    42. $mail_subject=str_replace(chr(34),"''",$mail_subject);
    43. $from_name=stripslashes($from_name);
    44. $from_mail=stripslashes($from_mail);
    45. $mail_subject=stripslashes($mail_subject);
    46. $mail_text=stripslashes($mail_text);
    47. if(($send=="1") && (isset($err_text))) {
    48. echo "<p><big><b>Fehler:</b></big><br>";
    49. echo "$err_text</p>";
    50. }
    51. if(($send!="1") || (isset($err_text)))
    52. {
    53. ?>
    54. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    55. <table border=0 cellspacing=2 cellpadding=0 width=100%>
    56. <tr><td nowrap align=right>Dein Name:</td><td>&nbsp;</td>
    57. <td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?php echo $from_name; ?>"></td></tr>
    58. <tr><td nowrap align=right>Deine E-Mail Adresse:</td><td></td>
    59. <td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?php echo $from_mail; ?>"></td></tr>
    60. <tr><td nowrap align=right>Betreff:</td><td></td>
    61. <td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?php echo $mail_subject; ?>"></td></tr>
    62. <tr><td nowrap align=right valign=top>Text:<br><i>(max. 1.000 Zeichen)</i></td><td></td>
    63. <td width=100%><textarea cols="40" rows="10" name="mailtext"><?php echo $mail_text; ?></textarea></td></tr>
    64. <tr><td></td><td></td><td>
    65. <input type="hidden" value="1" name="s">
    66. <input type="submit" value="Nachricht versenden" name="submit">
    67. </td></tr>
    68. </table>
    69. </form>
    70. <?php
    71. } else {
    72. $header="From: $from_name <$from_mail>\n";
    73. $header.="Reply-To: $from_mail\n";
    74. $header.="X-Mailer: PHP-FormMailer (www.gaijin.at)\n";
    75. $header.="Content-Type: text/plain";
    76. $mail_date=gmdate("D, d M Y H:i:s")." +0000";
    77. $send=0;
    78. if(@mail($mail_to,$mail_subject,$mail_text,$header))
    79. {
    80. echo "<p><b>Deine E-Mail wurde abgesendet.</b></p>";
    81. echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
    82. }else{
    83. echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
    84. echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
    85. echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
    86. }
    87. }
    88. ?>
    89. <p><a href="http://www.gaijin.at/">Copyright &copy; 2003-2007 www.gaijin.at</a></p>
    90. </div>
    91. <div class="sidenav">
    92. <h2>About US</h2>
    93. <ul>
    94. <li><a href="Alesh.html">Alesh</a></li>
    95. <li><a href="djam.html">DJ.A.M.</a></li>
    96. </ul>
    97. <h2>Another thing</h2>
    98. <ul>
    99. <li><a href="index.html">consequat molestie</a></li>
    100. <li><a href="index.html">sem justo</a></li>
    101. <li><a href="index.html">semper</a></li>
    102. <li><a href="index.html">sociis natoque</a></li>
    103. </ul>
    104. <h2>Third and last</h2>
    105. <ul>
    106. <li><a href="index.html">sociis natoque</a></li>
    107. <li><a href="index.html">magna sed purus</a></li>
    108. <li><a href="index.html">tincidunt</a></li>
    109. <li><a href="index.html">consequat molestie</a></li>
    110. </ul>
    111. </div>
    112. <div class="clearer"></div>
    113. </div>
    114. <div class="footer">
    115. <div class="left">&copy; 2007 <a href="index.html">Website.com</a>. Valid <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a> &amp; <a href="http://validator.w3.org/check?uri=referer">XHTML</a></div>
    116. <div class="right">Design by <a href="http://arcsin.se/">Arcsin</a> <a href="http://templates.arcsin.se/">Web Templates</a></div>
    117. <div class="clearer"><span></span></div>
    118. </div>
    119. </div>
    120. </div>
    121. </body>
    122. </html>
    Alles anzeigen
  • webspace ünterstützt php. Kommt keine Fehlermeldung. Klar muss ich bei ... noch meine name eingeben ;)
    Der script is folgender:

    PHP-Quellcode

    1. // *** Deine Mailadresse (Empfänger) ***
    2. $mail_to="...@gmx.de";
    3. // *************************************
    4. $from_name=$_POST['fromname'];
    5. $from_mail=strtolower($_POST['frommail']);
    6. $mail_subject=$_POST['mailsubject'];
    7. $mail_text=$_POST['mailtext'];
    8. $send=$_POST['s'];
    9. if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
    10. if(trim($from_mail)=="")
    11. $err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";
    12. else
    13. if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
    14. $err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
    15. if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";
    16. if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br>";
    17. // *** Zu langen Text abschneiden ***
    18. if(strlen($mail_text)>1000) {
    19. $mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)";
    20. }
    21. $from_name=str_replace(chr(34),"''",$from_name);
    22. $mail_subject=str_replace(chr(34),"''",$mail_subje ct);
    23. $from_name=stripslashes($from_name);
    24. $from_mail=stripslashes($from_mail);
    25. $mail_subject=stripslashes($mail_subject);
    26. $mail_text=stripslashes($mail_text);
    27. if(($send=="1") && (isset($err_text))) {
    28. echo "<p><big><b>Fehler:</b></big><br>";
    29. echo "$err_text</p>";
    30. }
    31. if(($send!="1") || (isset($err_text)))
    32. {
    33. ?>
    34. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    35. <table border=0 cellspacing=2 cellpadding=0 width=100%>
    36. <tr><td nowrap align=right>Dein Name:</td><td>&nbsp;</td>
    37. <td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?php echo $from_name; ?>"></td></tr>
    38. <tr><td nowrap align=right>Deine E-Mail Adresse:</td><td></td>
    39. <td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?php echo $from_mail; ?>"></td></tr>
    40. <tr><td nowrap align=right>Betreff:</td><td></td>
    41. <td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?php echo $mail_subject; ?>"></td></tr>
    42. <tr><td nowrap align=right valign=top>Text:<br><i>(max. 1.000 Zeichen)</i></td><td></td>
    43. <td width=100%><textarea cols="40" rows="10" name="mailtext"><?php echo $mail_text; ?></textarea></td></tr>
    44. <tr><td></td><td></td><td>
    45. <input type="hidden" value="1" name="s">
    46. <input type="submit" value="Nachricht versenden" name="submit">
    47. </td></tr>
    48. </table>
    49. </form>
    50. <?php
    51. } else {
    52. $header="From: $from_name <$from_mail>\n";
    53. $header.="Reply-To: $from_mail\n";
    54. $header.="X-Mailer: PHP-FormMailer (www.gaijin.at)\n";
    55. $header.="Content-Type: text/plain";
    56. $mail_date=gmdate("D, d M Y H:i:s")." +0000";
    57. $send=0;
    58. if(@mail($mail_to,$mail_subject,$mail_text,$header ))
    59. {
    60. echo "<p><b>Deine E-Mail wurde abgesendet.</b></p>";
    61. echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail\">Zur ück zum Formular</a></p>";
    62. }else{
    63. echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
    64. echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail&mail_ subject=$mail_subject&mail_text=";
    65. echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
    66. }
    67. }
    68. ?>
    Alles anzeigen
  • Also so spontan fällt mir an dem Script auch nichts auf, was falsch sein könnte (keine Gewähr) ;)

    Aber mach mal zum debuggen die ganzen @ Zeichen raus, damit die Fehlermeldung nicht unterdrückt wird.

    mfg
    snip3r

    PS: könntest du bitte deinen Code in [ php][/php ] Tags setzen, es macht das ganze einfacher zum lesen.
    Noch eine kleine Anmerkung, du verwendest XHTML 1.1, hast aber die Mehrzahl des Codes in HTML 4 geschrieben ;)
    Neulinge * Forenregeln * F.A.Q. * Lexikon
    Suchfunktion* IRC * Teamspeak * User helfen User
    Patrioten reden nur davon, dass sie für ihr Land sterben, niemals davon, dass sie für ihr Land töten. (Bertrand Russell)
  • alesh, sehr oft kommt es vor, dass der provider der e-mail-adresse, an den du die e-mail schickst, mit standard-headern versandte nachrichten von vornherein blockt (und meist sogar nicht einmal in einen ordner für spams verschiebt).

    das hat folgenden grund: mit einem php-script und der funktion mail() lassen sich sehr leicht massenweise spams erstellen. auch lässt sich damit die absenderadresse beliebig anpassen, obwohl die e-mail gar nicht von dieser stammt.

    das geht sogar soweit, dass du theoretisch einen ganz anderen server angeben kannst (etwa "from: [email protected]", wenn das script auf alesh.de läuft).

    von daher empfiehlt es sich, eine von mail() unabhängige anfrage mit dem bei dir installiertem mailserver zu senden.

    ich hoffe, ich konnte dir weiterhelfen!

    gruß,
    kmt56