email vom kontaktformular
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
adresse
anrede
array
betreff
code
datei
email
fehler
feld
formular
header
hinweis
http
inhalt
kopie
nachricht
output
text
type
zufall
-
ich bins mal wieder,
nun wo ich das broblem mit euch behoben habe das das formular nicht angezeigt wurde habe ich nun promt das nächste problem.
und zwar wenn ich mir ne mail schicke kommt volgendes raus:
Content-type: text/html; charset=iso-8859-1
From: christian sell<mrbreackbeat@gmx.de>
Message-Id: <20110212180256.AA40F674CA@web1.lima-city.de>
Date: Sat, 12 Feb 2011 19:02:56 +0100 (CET)
<div style="font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;font-size:11px;color:#000000;\"><br/>---------------------------------------------------------------------<br/>
Betreff: test<br/>
---------------------------------------------------------------------<br/>
Kontaktdaten:<br/><br/>
Name: christian sell<br/>
E-Mail: mrbreackbeat@gmx.de<br/>
---------------------------------------------------------------------<br/>
Nachricht:<br/><br/>
testtesttest<br/>
---------------------------------------------------------------------<br/>
<a href="mailto:christian sell<mrbreackbeat@gmx.de>?subject=test" style="color:#FF6600;text-decoration:none;">Zu christian sell Kontakt aufnehmen</a></div>
das is doch nicht original oder?
mfg stage dukes -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du verschickst eine HTML-Mail als Text-Mail ;) Hier mal ein Beispiel, wie man eine HTML-Mail auch als solche versendet:
<?php $empfaenger = "info@example.tld"; $betreff = "Test" $text = "<b>Hello World</b>"; $extra = "From: Christian Sell <mrbreackbeat@gmx.de>\n"; $extra .= "Content-Type: text/html\n"; $extra .= "Content-Transfer-Encoding: 8bit\n"; mail($empfaenger, $betreff, $text, $extra); ?>
-
ähm und wo soll ich das einsetzen?
eig kann ja nur eine einstellung falsch sein. probier es doch mal bitte ewt weisst du dann besser bescheid was ich meine. es sind ja mehrere php seiten iwo muss ein fehler sein
http://www.stage-dukes.lima-city.de/Kontakt.php
Die settings Datei:
<?php /** ******************************************************************************************************************************************************************************************************************/ if (! file_exists($script_pfad) || strstr($script_pfad, ':') || strstr($script_pfad, 'http') || strstr($script_pfad, '%00' || strstr($script_pfad, '...') || strstr($script_pfad, '../.'))) { die('<div style="text-align:center;"><h4>:: Direktaufruf nicht zugelassen ::</h4></div>'); } /** ******************************************************************************************************************************************************************************************************************/ // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- $charset = "iso-8859-1"; // Charset Ihrer Webseite (iso-8859-1, utf-8 etc...) bei falsch gesetztem Charset, kann es zu Problemen mit Umlauten kommen // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- $empfaenger = "Stage-Dukes@gmx.de"; // Ihre Emailadresse, an die die Nachricht geschickt werden soll. $ihr_name = "Thomas Doerschmann"; // Ihren Namen f?r die Dank Ausgabe $ihre_weiterleitung = "http://www.irgendwas.com"; // Weiterleitung falls das "hidden" Input Feld ausgef?llt wurde (Spam Bot) // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- $color = "FF6600"; // Farbe f?r Hinweise und Fehler (f?r Hover Links und Button bitte in die CSS Datei schauen) // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- $html_mail = 1; // Nachricht alst html oder Plain Text empfangen? html=1 PlainText=0 $spamschutz = 1; // Kleine Rechenaufgabe, als zus?tzlicher Spamschutz. $zeitbegrenzung = 1; // Zeitbegrenzung (Ja = 1, Nein = 0) bedeutet, der Besucher kann nur (z.b.) alle 5 Min. das Formular ausf?llen. $dauer_der_sperre = 3; // Dauer der Zeitbegrenzung in Minuten $pflicht_name = 1; // Soll das Feld "Name" ein Pflichtfeld sein? (Ja=1 Nein=0) $pflicht_email = 1; // Soll das Feld "Email" ein Pflichtfeld sein? (Ja=1 Nein=0) $pflicht_betreff = 1; // Soll das Feld "Betreff" ein Pflichtfeld sein? (Ja=1 Nein=0) $pflicht_inhalt = 1; // Soll das Feld "Inhalt" ein Pflichtfeld sein? (Ja=1 Nein=0) // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- $pic_pfad = $script_pfad."/images"; // Pfad zum Bilderordner $ip_datei = $script_pfad."/data/ips.txt"; // Datei f?r die IP Adressen der Zeitbegrenzung $include_name = basename($_SERVER['PHP_SELF']); // Name der Datei, die das Mail Script einbindet (Braucht nicht ge?ndert zu werden) // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ?>
Die formmailer Datei:
<?php /** ******************************************************************************************************************************************************************************************************************/ if (! file_exists($script_pfad) || strstr($script_pfad, ':') || strstr($script_pfad, 'http') || strstr($script_pfad, '%00' || strstr($script_pfad, '...') || strstr($script_pfad, '../.'))) { die('<div style="text-align:center;"><h4>:: Direktaufruf nicht zugelassen ::</h4></div>'); } /** ******************************************************************************************************************************************************************************************************************/ require $script_pfad . 'settings.php'; require $script_pfad . 'functions.php'; $user_adresse = getenv('REMOTE_ADDR'); check_ip($user_adresse); if ($found == 1 && $zeitbegrenzung == 1) { echo ' <div id="main_bereich"> <div id="kontakt_output"> <div align="center"> <br/> <br/> <br/> <br/> Bitte warten Sie <span style="color:#' . $color . ';"> ' . $wait_time . '</span> Minuten, um das Formular auszufüllen! <br/> <br/> <a href="' . $include_name . '"><span style="color:#' . $color . ';">»</span> Aktualisieren <span style="color:#' . $color . ';">«</span></a> </div> </div> </div> '; } else { (empty($x1_z) ? exit : $output = ''); $spam_frage = array(array("5 + 5", "10"), array("2 x 3", "6"), array("7 - 6", "1"), array("1 + 10", "11"), array("6 - 3", "3"), array("9 + 1", "10"), array("4 x 4", "16")); $x2_y = "SJTdGlsMSI+d3d3Lmhpbm5lbm"; $name = trim(htmlspecialchars($_POST['name'])); $mail = $x1_z . $x1_y; $email = trim(htmlspecialchars($_POST['mail'])); $betreff = trim(htmlspecialchars($_POST['betreff'])); (empty($x2_y) ? die : $output = ''); $inhalt = trim(htmlspecialchars($_POST['inhalt'])); $abfrage = trim(htmlspecialchars($_POST['abfrage'])); $formmailer = htmlentities($_POST['formmailer']); $kopie = htmlentities($_POST['kopie']); $mail = $mail . $x2_z . $x2_y . $x3_z; $mail = check_mai1($mail); if (! isset($_SESSION['zufall'])) { $zufall = rand(0, 6); $_SESSION['zufall'] = $zufall; } if (! count($fehler)) { if ($pflicht_name == 1 || $pflicht_email == 1 || $pflicht_betreff == 1 || $pflicht_inhalt == 1) { $hinweis = 'Felder mit einem <span style="color:#' . $color . ';">*</span> sind <span style="color:#' . $color . ';"> Pflichtfelder</span>'; } } else { $hinweis = implode(" | ", $fehler); } $mail = '<div id="spam">' . $mail . '</div>'; if (isset($_POST['senden'])) { $send = 1; check_ip($user_adresse); if ($found == 1 && $zeitbegrenzung == 1) { echo ' <div id="main_bereich"> <div id="kontakt_output"> <div align="center"> <br/> <br/> <br/> <br/> Bitte warten Sie <span style="color:#' . $color . ';"> ' . $wait_time . '</span> Minuten, um das Formular auszufüllen! <br/> <br/> <a href="' . $include_name . '"><span style="color:#' . $color . ';">»</span> Aktualisieren <span style="color:#' . $color . ';">«</span></a> </div> </div> </div> '; } else { if (! empty($formmailer)) { echo '<meta http-equiv="Refresh" content="0;' . $ihre_weiterleitung . '">'; exit(); } if ($email) check_mail($email); if ($falsch) $fehler[] = 'Ihre <span style="color:#' . $color . ';">Email</span> ist nicht korrekt!'; if (! $name && $pflicht_name == "1") $false = 1; if (! $email && $pflicht_email == "1") $false = 1; if (! $betreff && $pflicht_betreff == "1") $false = 1; if (! $inhalt && $pflicht_inhalt == "1") $false = 1; if ($false) $fehler[] = 'Bitte <span style="color:#' . $color . ';">Pflichtfelder</span> ausfüllen'; if ($spamschutz == 1 && $abfrage != $spam_frage[$_SESSION['zufall']][1]) $fehler[] = 'Das <span style="color:#' . $color . ';">Ergebnis</span> ist falsch.'; if (! count($fehler)) { $line = '---------------------------------------------------------------------'; if ($html_mail == 1) { $inhalt = str_replace("\r\n", "<br/>", $inhalt); $body = '<div style="font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;font-size:11px;color:#000000;\">'; } $body .= '<br/>' . $line . '<br/> Betreff: ' . $betreff . '<br/> ' . $line . '<br/> Kontaktdaten:<br/><br/> Name: ' . $name . '<br/> E-Mail: ' . $email . '<br/> ' . $line . '<br/> Nachricht:<br/><br/> ' . $inhalt . '<br/> ' . $line . '<br/> '; if ($html_mail == 1) { $body .= '<a href="mailto:' . $name . '<' . $email . '>?subject=' . $betreff . '" style="color:#FF6600;text-decoration:none;">Zu ' . $name . ' Kontakt aufnehmen</a></div>'; $header = 'MIME-Version: 1.0' . "\r\n"; $header .= 'Content-type: text/html; charset=' . $charset . "\r\n"; $header .= 'From: ' . $name . '<' . $email . '>' . "\r\n"; } else { $header = 'MIME-Version: 1.0' . "\r\n"; $header .= 'Content-type: text/plain; charset=' . $charset . "\r\n"; $header .= 'From: ' . $name . '<' . $email . '>' . "\r\n"; $body = str_replace('<br/>', '', $body); } if (@mail($empfaenger, $betreff, $body, $header)) { if ($kopie == 1) { @mail($email, "Kopie von: " . $betreff, $body, $header); } danke($name, $email, $ihr_name, $color); if ($zeitbegrenzung == 1) { set_ip($user_adresse); } unset($_SESSION['zufall']); } else { $hinweis = 'Beim <span style="color:#' . $color . ';">Versand</span> trat ein <span style="color:#' . $color . ';">Fehler</span> auf! Bitte versuchen Sie es erneut!'; $inhalt = str_replace('<br/>', "\r\n", $inhalt); (empty($mail) ? $output = '' : show_form()); } } else { $hinweis = implode(" | ", $fehler); (empty($mail) ? $output = '' : show_form()); } } } else { (empty($mail) ? $output = '' : show_form()); } } ?>
Beitrag zuletzt geändert: 12.2.2011 23:14:47 von nikic -
1mal kurz in einer datei aber ohne Design:
<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="robots" content="noindex,nofollow"> # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Riko112.de # © © 2011, by Riko Keil # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # <style type="text/css"> /* Formular Stylesheet */ body, textarea, table { font-family: Verdana, Sans-Serif; font-size: 12px; color: #000000; } table { margin: auto; border-spacing: 1px; } th, td { padding: 3px; font-weight: normal; } label { cursor: pointer; } textarea { width: 460px; height: 110px; } .pflichtfeld { color: #EE0000; } .hintergrund { color: #000000; background-color: #E6E6E6; } </style> </head> <body> <?php $webmaster = "dein name"; $mailto = "deine.email@deine-webseite.de"; $url = "deine-webseite.de"; $eingabefehler = ""; $anrede = isset($_POST["anrede"]) ? $_POST["anrede"] : ""; $anredeCk = $_POST["anrede"] == "Frau" ? " checked='checked'" : ""; $name = isset($_POST["name"]) ? $_POST["name"] : ""; $mailfrom = isset($_POST["mailfrom"]) ? $_POST["mailfrom"] : ""; $betreff = isset($_POST["betreff"]) ? $_POST["betreff"] : ""; $nachricht = isset($_POST["nachricht"]) ? $_POST["nachricht"] : ""; $kopie = isset($_POST["kopie"]) ? " checked='checked'" : ""; // Spamschutz $zufallszahl1 = mt_rand(1, 90); $zufallszahl2 = mt_rand(1, 9); $ergebnis = md5($zufallszahl1 + $zufallszahl2); $code = "&#" . (48 + $zufallszahl2) . ";"; // Formular $formular = "<form action='" . $_SERVER["SCRIPT_NAME"] . "' method='post'> <table> <tr><td colspan='2' class='pflichtfeld'><!-- Fehleranzeige --></td></tr> <tr class='hintergrund'> <td><label>Anrede:</label></td> <td><input type='radio' name='anrede' value='Herr' checked='checked' id='Herr'><label for='Herr'>Herr</label> <input type='radio' name='anrede' value='Frau'" . $anredeCk . " id='Frau'><label for='Frau'>Frau</label></td> </tr> <tr class='hintergrund'> <td><label for='Name'>Name: <span class='pflichtfeld'>*</span></label></td> <td><input type='text' size='35' name='name' value='" . $name . "' id='Name'></td> </tr> <tr class='hintergrund'> <td><label for='Email'>E-Mail: <span class='pflichtfeld'>*</span></label></td> <td><input type='text' size='40' name='mailfrom' value='" . $mailfrom . "' id='Email'></td> </tr> <tr class='hintergrund'> <td><label for='Betreff'>Betreff: <span class='pflichtfeld'>*</span></label></td> <td><input type='text' size='49' name='betreff' value='" . $betreff . "' id='Betreff'></td> </tr> <tr class='hintergrund'> <td colspan='2'><label for='Nachricht'>Nachricht: <span class='pflichtfeld'>*</span></label><br> <textarea name='nachricht' id='Nachricht'>" . $nachricht . "</textarea></td> </tr> <tr class='hintergrund'> <td colspan='2'><input type='checkbox' id='marke3' name='kopie' $kopie> <label for='marke3'>Ich wünsche eine Kopie meiner Anfrage an meine E-Mail-Adresse</label></td> </tr> <tr class='hintergrund'> <td colspan='2'><label for='Spamschutz'>Spamschutz: <span class='pflichtfeld'>*</span></label> <em>" . $zufallszahl1 . " + " . $code . "</em> = <input type='text' name='zip' size='3' id='Spamschutz'><input type='hidden' name='zip2' value='" . $ergebnis . "'> <small>(Rechenaufgabe lösen)</small></td> </tr> <tr class='hintergrund'> <th colspan='2'> <br><span class='pflichtfeld'>*</span> <small>Bitte alle Pflichtfelder ausfüllen!</small> <input type='button' onClick=\"location.href='" . $_SERVER["SCRIPT_NAME"] . "'\" value='Abbrechen'> <input type='submit' name='sendung' value='Formular absenden'> </th> </tr> </table> </form>"; if (isset($_POST["sendung"])) { // Pflichtfelder überprüfen if (strlen($name) <= 2) {$eingabefehler .= "• Name fehlt!<br>";} if (!preg_match("/^([_a-z0-9-äöüß])(([-_a-z0-9-äöüß._])*([_a-z0-9-äöüß]))*\@([_a-z0-9-äöüß])(([_a-z0-9-äöüß-])*([_a-z0-9-äöüß]))+(\.([_a-z0-9-äöüß])([-a-z0-9_-])?([_a-z0-9-äöüß])+)+$/i", $mailfrom)) { $eingabefehler .= "• Fehler in der E-Mail-Adresse!<br>"; } if (strlen($betreff) <= 6) {$eingabefehler .= "• Der Betreff " . ((strlen($betreff) == 0) ? " fehlt" : " ist zu kurz") . " (min. 7 Zeichen)!<br>";} if (strlen($nachricht) <= 19) {$eingabefehler .= "• Die Nachricht " . ((strlen($nachricht) == 0) ? " fehlt" : " ist zu kurz") . " (min. 20 Zeichen)!<br>";} if (md5($_POST["zip"]) != $_POST["zip2"]) {$eingabefehler .= "• Der Spamschutz ist leider falsch!<br>";} if ($eingabefehler == "") { // Diese Nachricht wird an Ihre E-Mail-Adresse gesendet (\n = neue Zeile) $text = "Datum: " . date("d.m.Y H:i") . "\n Anrede: $anrede \n Name: $name \n E-Mail: $mailfrom \n Betreff: $betreff \n Nachricht: $nachricht \n\n "; // E-Mail versenden @mail($mailto, $betreff, $text, "From: " . $mailfrom); // Bestätigung der E-Mail echo "<p style='text-align:center; margin-top:200px;'>"; echo "Vielen Dank " . $anrede . " " . $name . ", die Nachricht wurde gesendet.<br><br>"; if (isset($_POST["kopie"])) { // Diese Nachricht wird an die E-Mail-Adresse des Besuchers gesendet $kopie = "Vielen Dank für Ihren Besuch bei $url.\n Wir haben folgende Nachricht erhalten:\n\n ====\n\n Anrede: $anrede \n Name: $name \n E-Mail: $mailfrom \n Betreff: $betreff \n Nachricht: $nachricht \n\n ====\n\n Mit freundlichen Grüßen,\n $webmaster "; // E-Mail Kopie versenden @mail($mailfrom, "Kopie einer Anfrage", $kopie, "From: " . $mailto); // Bestätigung der E-Mail Kopie echo "Sie erhalten eine Kopie Ihrer Anfrage an Ihre E-Mail-Adresse.<br><br>"; } // Link zur Startseite echo "<a href=\"" . $url . "\" target=\"_top\">Weiter zur Startseite</a></p>"; } else { // Eingabefehler und Formular ausgeben echo str_replace("<!-- Fehleranzeige -->", "<strong>Die Nachricht wurde aus folgendem Grund nicht gesendet:</strong><br>$eingabefehler", $formular); } } else { // Formular ausgeben echo $formular; } ?> </body> </html>
oder soll ich mir deinen nochmal ankuken. -
Was wird das hier für ein Müll wenn man mal fragen darf? Zum Chatten gibt's Chats
€dit by nikic: Ich habe alle unrelevanten Posts gelöscht und weitere zusammengeführt.
PS: Bitte [code] Tags verwenden ;)
PPS: Man kann auch mehrere Codes in einen Beitrag machen. Du musst nicht für jeden einen neuen erstellen ;)
Beitrag zuletzt geändert: 12.2.2011 23:16:35 von nikic -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage