geloescht_sascha-graf Geschrieben 5. März 2010 Geschrieben 5. März 2010 Hallo, ich habe in PHP ein KOntaktformular. Ich habe es auf meinen Webserver hochgeladen. Das Formular funktioniert soweit, wenn ich auf senden klicke, bekomme ich aber keine email. ich bitte um hilfe. danke im voraus. config.php <?php $deinname = "Sascha Graf"; $deinemailadresse = "sascha-graf1@gmx.de"; ?> index.php <html> <head> <title>Mein Kontaktformular</title> <meta name="author" content="b-projects.de"> <meta http-equiv="content-type" content="text/html; charset=ISO-8859- 1"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div align="center"> <br><br> <?php include "config.php"; // wurde auf ABSCHICKEN geklickt? if(isset($_POST["submit"])) { // es wurde kein Name eingetragen if(!$_POST["name"] || empty($_POST["name"])) { ?> <div align="center"><span class="mail">Du hast folgende Angabe vergessen einzutragen: Name.</span> <a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div> <?php } // es wurde keine E-Mail Adresse eingetragen elseif(!$_POST["email"] || empty($_POST["email"])) { ?> <div align="center"><span class="mail">Du hast folgende Angabe vergessen einzutragen: eMail-Adresse.</span> <a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div> <?php } // es wurde keine Nachricht eingetragen elseif(!$_POST["nachricht"] || empty($_POST["nachricht"])) { ?> <div align="center"><span class="mail">Du hast folgende Angabe vergessen einzutragen: Nachricht.</span> <a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div> <?php } // ist alles Eingetragen dann else { // Erzeuge den E-Mail Header // E-Mail Absender $header.="From: \"".$_POST["name"]."\" <".$_POST["email"].">\n"; // Domain also was in der Mailadresse hinter dem ‘@’ steht $header.="Organization: ".substr($deinemailadresse,strpos($deinemailadresse,"@"))."\n"; // Format der Mail $header.="Content-Type: text/plain;\n"; // Name des Mailprogramms, hier die PHP-Version $header.="X-Mailer: PHP/".phpversion(); // Die Nachricht $nachricht1 = "".$_POST["nachricht"]."\n\n"; // Mail wird nun verschickt mail("\"".$deinname."\" <".$deinemailadresse.">",$betreff,$nachricht1, $header); // Betreff der Dankesmail $betreff_danke = "Vielen Dank"; // Text der Dankesmail $body_danke = "Hallo ".$_POST["name"].",\n\nDanke für deine Nachricht!\n\nSie erhalten in Kürze Antwort von mir.\n\n\nMit freundlichen Gruessen\n\n".$deinname."\n\n--\n\nIhre Nachricht:\n\n".$nachricht1.""; // Header für die Dankesmail, analog zu oben $header_danke.="\"".$deinname."\" <".$deinemailadresse.">"; $header_danke.="Organization: ".substr($deinemailadresse,strpos($deinemailadresse,"@"))."\n"; $header_danke.="Content-Type: text/plain;\n"; $header_danke.="X-Mailer: PHP/".phpversion(); // Senden von der Dankmail mail("\"".$_POST["name"]."\" <".$_POST["email"].">",$betreff_danke,$body_danke,$header_danke); ?> <table border="0"><tr><td colspan="2" align="left"> <span class="mail">Vielen Dank für folgende Nachricht</span></td></tr> <tr><td colspan="2" align="center"> </td></tr> <tr><td><span class="mail">Dein Name:</span></td><td><?php echo $_POST["name"]; ?></td></tr> <tr><td><span class="mail">Deine eMail-Adresse:</span></td><td><a href="mailto:<?php echo $_POST["email"]; ?>"><?php echo $_POST["email"]; ?></a></td></tr> <?php } ?> <tr><td valign="top"><span class="mail">Deine Nachricht:</b></td><td><?php echo nl2br($_POST["nachricht"]); ?></td></tr><tr> <tr><td colspan="2" align="center"> </td></tr> <td colspan="2" align="center"><span class="mail">Eine Dankes-eMail von mir ist bereits unterwegs!</span></td></tr></table> <?php } // end alles eingetragen // wenn nicht gesendet, Mailformular ausgeben else { ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <table border="0" cellspacing="0" cellpadding="5"> <tr> <td>Dein Name:</span></td> <td><input type="text" name="name" class="formular"></td> </tr> <tr> <td>Betreff:</td> <td><input type="text" name="betreff" class="formular"></td> </tr> <tr> <td>Deine eMail-Adresse</td> <td><input type="text" name="email" class="formular"></td> </tr> <tr> <td valign="top">Deine Nachricht:</td> <td><textarea name="nachricht" cols="50" rows="5" class="feld"></textarea></td> </tr> <tr> <td> </td> <td align="left"><input type="reset" value="zurücksetzen" class="formular"> <input type="submit" value="abschicken" name="submit" class="formular"></td> </tr> </table> </form> <!-- end nicht gesendet --> <?php } ?> </div> </body> </html> gruss sascha Zitieren
flashpixx Geschrieben 5. März 2010 Geschrieben 5. März 2010 Nicht jeder Anbieter erlaubt es Mails über den mail-Befehl von PHP zu senden. Logging einschalten, so dass Du siehst ob Mail ohne Fehler ausgeführt wird. Weiterhin blockieren Mailserver Mails die nicht korrekt formatiert sind: Deine Mail hat \n, wenn ich das richtig im Kopf habe, schreibt der RFC Standard \r\n als Line-Delimiter vor. Ich würde Dir raten, die Mail und Mime Klassen aus dem Pear Repository, damit Du sicherstellst, dass die Mail der gültigen Norm entspricht Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.