Bitte geben Sie einen Wert in das Feld Name* ein!"; $bFormOK = false; } if ($_POST["Vorname"] == "") { $errVorname = "Bitte geben Sie einen Wert in das Feld Vorname* ein!"; $bFormOK = false; } if ($_POST["email"] == "") { $erremail = "Bitte geben Sie einen Wert in das Feld E-Mail* ein!"; $bFormOK = false; } if ($_POST["Bemerkung"] == "") { $errBemerkung = "Bitte geben Sie einen Wert in das Feld Bemerkung* ein!"; $bFormOK = false; } if ($_POST["captcha_input"] != $_SESSION["captcha"]) { $errCaptcha = "Fehler, bitte übertragen Sie die Zahl aus dem Bild!"; $bFormOK = false; } if ($bFormOK == true) sendMail(); } //Funktionsteil function CryptString($str) { for ($i=0;$i<=strlen($str)-1;$i++) { $str[$i] = chr(23 ^ ord($str[$i])); } return $str; } function Captcha() { $c_captcha_breite = 80; //größe Captcha Bild $c_captcha_hoehe = 25; $c_captcha_groesse = 15; //Schriftgröße Captcha Header("Content-Disposition: filename=\"captcha.png\"\r\n"); Header("Content-type: image/png"); //Bild erzeugen $im = imagecreate($c_captcha_breite,$c_captcha_hoehe); //Farbe und Schriftart $captcha_color = imagecolorallocate($im,44,44,44); $captcha_bg_color = imagecolorallocate($im,150,150,150); $captcha_stoer_color = imagecolorallocate($im,100,100,100); imagefill($im,0,0,$captcha_bg_color); srand ((double)microtime()*1000000); //Störmuster einbringen for ($x = 0;$x<=$c_captcha_breite;$x++) for ($y = 0;$y<=$c_captcha_hoehe;$y++) { $curRand = rand(0,3); if ($curRand == 1) imagesetpixel($im,$x,$y,$captcha_stoer_color); } imagestring($im,5,15,5,$_SESSION["captcha"],$captcha_color); ImagePng($im); } function CleanXML($str) { $str = str_replace("&","&",$str); $str = str_replace("<","<",$str); $str = str_replace(">",">",$str); $str = stripslashes($str); return $str; } function sendMail() { //Textmail-Template $messageText='*Formular-Weiterleitungs-Service* -----------------------------------------------------------------'; //HTML-Template $messageHTML = ' Formular
 

#SUBJECT#


#EINLEITTEXT#

Inhalt:
#PLACEHOLDER#



Weitere Informationen:
Datum:
#DATE#
IP-Adresse:
#IP#
User-Agent:
#UA#

'; $sender = $_POST["email"]; $subj = $_POST["subject"]; $type = $_POST["typemail"]; $strEinleitText = CryptString(base64_decode($_POST["einleittext"])); $strFormID = $_POST["formid"]; $strSettings = CryptString(base64_decode($_POST["settings"])); $returnSender = $_POST["ReturnToSender"]; $redir = $_POST["redirect"]; //E-Mail-Adressen auslesen if ($_POST["crypt"] == "1") { $rec1 = CryptString(base64_decode(stripslashes($_POST["admin"]))); $rec2 = CryptString(base64_decode(stripslashes($_POST["admin1"]))); $rec3 = CryptString(base64_decode(stripslashes($_POST["admin2"]))); } else { $rec1 = $_POST["admin"]; $rec2 = $_POST["admin1"]; $rec3 = $_POST["admin2"]; } $textmail = true; if ($type == "plain" || $type == "") { $message= $messageText; $message.= "\n\n"; $message.= str_replace("#br#", "\n", $strEinleitText); $message.= "\n\n"; foreach($_POST as $name=> $value) { $str = stripslashes($value); if (($name != "redirect") AND ($name != "einleittext") AND ($name != "probe") AND ($name != "crypt") AND ($name != "ReturnToSender") AND ($name != "next") AND ($name != "typemail") AND ($name != "admin") AND ($name != "admin1") AND ($name != "admin2") AND ($name != "subject") AND ($name != "captcha_input") AND ($name != "formid") AND ($name != "settings")) { $message.= "$name: $str\n\n"; } } //Anhängen der IP, Browser und Datum $message.= "-----------------------------\n"; $message.= date("l dS of F Y h:i:s A") . "\n"; $message.= $_SERVER['REMOTE_ADDR'] . "\n"; $message.= $_SERVER['HTTP_USER_AGENT']; //Replace Operationen $message = str_replace("#SUBJECT#", $subj, $message); $textmail = true; } if ($type == "html") { $inHtml= ""; $message= $messageHTML; foreach($_POST as $name=> $value) { $str = stripslashes($value); if (($name != "redirect") AND ($name != "einleittext") AND ($name != "probe") AND ($name != "crypt") AND ($name != "ReturnToSender") AND ($name != "next") AND ($name != "typemail") AND ($name != "admin") AND ($name != "admin1") AND ($name != "admin2") AND ($name != "subject") AND ($name != "captcha_input") AND ($name != "formid") AND ($name != "settings")) { " $str\n\n"; $inHtml.= "\n"; $inHtml.= "\n"; $inHtml.= "\n"; } } $inHtml.= "
" . $name . ":
" . $str . "
"; //Anhängen der IP, Browser und Datum $datum = date("l dS of F Y h:i:s A") . "\n"; $ip = $_SERVER['REMOTE_ADDR'] . "\n"; $ua = $_SERVER['HTTP_USER_AGENT']; //replace Operationen $message = str_replace("#EINLEITTEXT#", str_replace("#br#", "
", $strEinleitText), $message); $message = str_replace("#PLACEHOLDER#", $inHtml, $message); $message = str_replace("#DATE#", $datum, $message); $message = str_replace("#IP#", $ip, $message); $message = str_replace("#UA#", $ua, $message); $message = str_replace("#SUBJECT#", $subj, $message); $textmail = false; } if ($type == "xml") { $message = "\n\n"; $message .= "\n"; $message .= " \n"; foreach($_POST as $name=> $value) { $str = CleanXML($value); if (($name != "redirect") AND ($name != "einleittext") AND ($name != "probe") AND ($name != "crypt") AND ($name != "ReturnToSender") AND ($name != "next") AND ($name != "typemail") AND ($name != "admin") AND ($name != "admin1") AND ($name != "admin2") AND ($name != "subject") AND ($name != "captcha_input") AND ($name != "formid") AND ($name != "settings")) { $message .= " <" . $name . ">" . $str . "\n"; } } //Anhängen der IP, Browser und Datum $message .= " " . date("l dS of F Y h:i:s A") . "\n"; $message .= " " . $_SERVER['REMOTE_ADDR'] . "\n"; $message .= " " . $_SERVER['HTTP_USER_AGENT'] . "\n"; $message .= " \n"; $message .= ""; $textmail = true; } //Anhang $anhang = false; if (isset($_FILES['probe']) and !$_FILES['probe']['error'] and ($_FILES['probe']['name'] != '.htaccess')) { move_uploaded_file($_FILES['probe']['tmp_name'], "filetemp/" . $_FILES['probe']['name']); $anhang = true; } $mail = new sendmail(); $mail->from($sender); $mail->to($rec1); $mail->subject($subj); $mail->text($message,$textmail,$anhang); if ($anhang == true) $mail->attachment("filetemp/" . $_FILES['probe']['name']); $mail->send(); if ($rec2 != "") { $mail2 = new sendmail(); $mail2->from($sender); $mail2->to($rec2); $mail2->subject($subj); $mail2->text($message,$textmail,$anhang); if ($anhang == true) $mail2->attachment("filetemp/" . $_FILES['probe']['name']); $mail2->send(); } if ($rec3 != "") { $mail3 = new sendmail(); $mail3->from($sender); $mail3->to($rec3); $mail3->subject($subj); $mail3->text($message,$textmail,$anhang); if ($anhang == true) $mail3->attachment("filetemp/" . $_FILES['probe']['name']); $mail3->send(); } if ($returnSender == "-1") { $mail4 = new sendmail(); $mail4->from($rec1); $mail4->to($sender); $mail4->subject($subj . " - Kopie"); $mail4->text($message,$textmail,$anhang); $mail4->send(); } if ($anhang == true) @unlink("filetemp/" . $_FILES['probe']['name']); header("Location:" . $redir); } class sendmail { // Variable deklarieren var $emailheader = ""; var $emailheader2 = ""; var $textheader = ""; var $textboundary = ""; var $emailboundary = ""; var $betreff = ""; var $empfaenger = ""; var $attachment = array(); function sendmail() { $this->textboundary = uniqid(time()); $this->emailboundary = uniqid(time()); } // Von wem die Email kommt in den Header setzen function from($name) { $this->emailheader .= "From: $name\n"; $this->emailheader .= "MIME-Version: 1.0\n"; } // Funktion um den Adressaten anzugeben function to($to) { $this->empfaenger = $to; } // Funktionn für den Betreff anzugeben function subject($subject) { $this->betreff = $subject; } // Textdaten in Email Header packen function text($text,$textmail,$anhang) { if ($textmail == false) { $this->emailheader2 .= "Content-Type: multipart/alternative; boundary=\"$this->textboundary\"\n"; $this->textheader .= "--$this->textboundary\n"; $this->textheader .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\n"; $this->textheader .= "Content-Transfer-Enconding: quoted-printable\n\n"; $this->textheader .= strip_tags($text)."\n\n"; $this->textheader .= "--$this->textboundary\n"; $this->textheader .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n"; $this->textheader .= "Content-Transfer-Enconding: quoted-printable\n\n"; $this->textheader .= "$text\n\n"; $this->textheader .= "--$this->textboundary--\n\n"; } else { if ($anhang == true) { $this->emailheader2 .= "Content-Type: multipart/alternative; boundary=\"$this->textboundary\"\n"; $this->textheader .= "--$this->textboundary\n"; $this->textheader .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\n"; $this->textheader .= "Content-Transfer-Enconding: quoted-printable\n\n"; } $this->textheader .= $text . "\n\n"; if ($anhang == true) { $this->textheader .= "--$this->textboundary--\n\n"; } } } // Funktion zum anhängen für Attachments in der Email function attachment($datei) { // Überprüfen ob File Existiert if(is_file($datei)) { // Header für Attachment erzeugen $filename = str_replace("filetemp/", "", $datei); $attachment_header = "--".$this->emailboundary."\n" ; $attachment_header .= "Content-Type: application/octet-stream;\n name=\"$datei\"\n"; $attachment_header .= "Content-Transfer-Encoding: base64\n"; $attachment_header .= "Content-Disposition: attachment;\n filename=\"$filename\"\n\n"; // Daten der Datei einlesen, in das BASE64 Format formatieren und auf max 72 Zeichen pro Zeile // aufteilen $file['inhalt'] = fread(fopen($datei,"rb"),filesize($datei)); $file['inhalt'] = base64_encode($file['inhalt']); $file['inhalt'] = chunk_split($file['inhalt'],72); // Attachment mit Header in der Klassenvariable speichern $this->attachment[] = $attachment_header.$file['inhalt']."\n"; } } // Funktion zum erstellen des Kompletten Headers der Email // Senden der Email function send() { $header = $this->emailheader; $body = ""; // Überprüfen ob Attachments angehängt wurden if(count($this->attachment)>0) { $header .= "Content-Type: multipart/mixed; boundary=\"$this->emailboundary\"\n"; $body .= "--$this->emailboundary\n"; $body .= $this->emailheader2 . "\n"; $body .= $this->textheader; for($i=0;$iattachment);$i++) { $body .= $this->attachment[$i]; } $body .= "--$this->emailboundary--"; } else { $header .= $this->emailheader2; $body .= $this->textheader; } // Versenden der Mail mail("$this->empfaenger",$this->betreff,$body,$header); } } ?> Kontaktformular
?action=send&PHPSESSID=" method="POST" name="DAFORM" onSubmit="return chkFormular()" enctype="multipart/form-data">

Kontaktformular

Mit diesem Formular können Sie mit uns Kontakt aufnehmen.

Name*
Vorname*
E-Mail*
Homepage
Bemerkung*

Bitte geben Sie alle Zeichen der Grafik in das Eingabefeld ein.

 ?action=captcha&PHPSESSID=" border="1" alt="captcha">

*Pflichtfelder