Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php// $Id: mail.php 28 2007-09-28 12:28:21Z tiefland $//Variablen initialisieren$headers = array();$email = (isset($_POST["email"])) ? $_POST["email"] : "info@weban.de";$Email=$_POST["Email"];// Existiert ein Email Schutz?if (eregi("[a-z0-9]{32}",$_POST["_to"])) {// Ja, dann ueberpruefe ob Konfiguration existiertif (file_exists('emailconfig.default.inc.php')) {include('emailconfig.default.inc.php');}// Existiert auch diese Adresseif ($GLOBALS['email_config'][$_POST["_from"]]) {$_from = $GLOBALS['email_config'][$_POST["_from"]];$_to = $GLOBALS['email_config'][$_POST["_to"]];$recipient = $GLOBALS['email_config'][$_POST["recipient"]];if (eregi("[a-z0-9]{32}",$_POST["_subject"])) {$_subject = "Anfrage ueber: " . $GLOBALS['email_config'][$_POST["_subject"]];$subject = "Anfrage ueber: " . $GLOBALS['email_config'][$_POST["_subject"]];} else {if ($_POST["_subject"]) {$_subject = $_POST["_subject"];$subject = $_POST["_subject"];} else {$_subject = "Anfrage ueber: " . $GLOBALS['email_config'][$_POST["_subject"]];$subject = "Anfrage ueber: " . $GLOBALS['email_config'][$_POST["_subject"]];}}} else {die("Sie haben einen Fehlehaften Code uebergeben.<br>");}} else {$_from = (isset($_POST["_from"])) ? $_POST["_from"] : $email;$_to = (isset($_POST["_to"])) ? $_POST["_to"] : $email;$recipient = (isset($_POST["recipient"])) ? $_POST["recipient"] : $email;$_subject = (isset($_POST["_subject"])) ? $_POST["_subject"] : "";$subject = (isset($_POST["subject"])) ? $_POST["subject"] : "";}$_target = (isset($_POST["_target"])) ? $_POST["_target"] : "";$redirect = (isset($_POST["redirect"])) ? $_POST["redirect"] : "";$submit = false;$cc = false;$bcc = false;$sub = false;$ref = $_SERVER["HTTP_REFERER"];$start = strpos ($ref, "//");// Referrer überprüfenif ($start < 0) {$start = 0;} else {$start = $start + 2;}$stop = strpos ($ref, "/", $start);// Variable $_POST auf "submit" als Array-Key überprüfen// falls nicht gefunden ==> ENDE/* foreach ($_POST as $key => $value){if (strtolower($key)=="submit"){$submit=true;}}if (substr ($ref, $start, $stop-$start) != $_SERVER["SERVER_NAME"]||!$submit)*/if (substr ($ref, $start, $stop-$start) != $_SERVER["SERVER_NAME"]) {exit;}//Body zusammenbauenforeach(array_keys($_POST) as $elem) {if ($elem[0] == "_") {unset($_POST[$elem]);} else {if (is_array($_POST[$elem])) {$_POST[$elem] = implode($_POST[$elem],", ");}$_POST[$elem] = $elem.": ".$_POST[$elem];}}$body=implode($_POST,"\n");// TO Adresse ermittelnif (!$_to) {$_to = $recipient;}if (!$_subject) {$_subject = $subject;}// FROM Adresse ermittelnif (!$_from) {if ($email) {$_from = $email;} else {$_from = $_to;}}// Weiterleitungsziel ermittelnif (!$_target) {if ($redirect) {$_target = $redirect;} else {// $_target = "danke.htm?ref=".urlencode($ref);$_target = "danke.htm";}} else {$_target = dirname($ref)."/".$_target;}// Header überpruefen (muessen leer sein)if (count($headers)) {//Header wurde manipuliert!$keys=array("cc","cC","Cc","CC");foreach($keys as $key) {if (isset($headers[$key])) {unset($headers[$key]);$cc=true;}if (isset($headers["b".$key])) {unset($headers["b".$key]);$bcc=true;}if (isset($headers["B".$key])) {unset($headers["B".$key]);$bcc=true;}}}// erweiterte Infos erstellen$linkInfo = readlink ( $_SERVER["SCRIPT_FILENAME"] );$infoString = "PHP_SELF: " . $_SERVER["PHP_SELF"] ."\n";$infoString .= "SCRIPT_NAME: " . $_SERVER["SCRIPT_NAME"] ."\n";$infoString .= "REQUEST_URI: " . $_SERVER["REQUEST_URI"] ."\n";$infoString .= "SCRIPT_FILENAME: " . $_SERVER["SCRIPT_FILENAME"] ."\n";$infoString .= "HTTP_REFERER: " . $_SERVER["HTTP_REFERER"] ."\n";$infoString .= "REMOTE_ADDR: " . $_SERVER["REMOTE_ADDR"] ."\n";$infoString .= "SYM_LINK_INFO: " . $linkInfo ."\n";$infoString .= "EMPFAENGER: " . $_to ."\n";$infoString = "\n\n=============================================\n\n". $infoString. "\n=============================================\n";// ende erweiterte Infos// Verschiedene Variablen ueberpruefen, ob "TO: BCC: CC: oder FROM: Eintraege vorkommen$ereg1 = eregi("/(from\:)|(to\:)|(cc\:)|(bcc\:)/", $_to);$ereg2 = eregi("/(from\:)|(to\:)|(cc\:)|(bcc\:)/", $body);$ereg3 = eregi("/(from\:)|(to\:)|(cc\:)|(bcc\:)/", $_subject);// Eventuell vorhandenes "SUBJECT"-Feld im Header löschenforeach($headers as $header => $value) {if (strtolower($headers)=="subject") {unset($headers[$header]);$sub=true;}}//Body erweitern, falls manipulierte Werte gefunden wurden!$body .= ($ereg1) ? "To enthielt zusaetzliche Angaben ('FROM:', 'TO:', 'CC:', 'BCC:')!\n" : "";$body .= ($ereg2) ? "Body enthielt zusaetzliche Angaben ('FROM:', 'TO:', 'CC:', 'BCC:')!\n" : "";$body .= ($ereg3) ? "Subject enthielt zusaetzliche Angaben ('FROM:', 'TO:', 'CC:', 'BCC:')!\n" : "";$body .= ($sub) ? "Header enthielt zusaetzliche Subject-Angabe!\n" : "";$body .= ($bcc) ? "Header enthielt BCC-Angabe!\n" : "";$body .= ($cc) ? "Header enthielt CC-Angabe!\n" : "";//Pruefen, ob kein HTML in Nachricht vorkommt$no_html=($body==strip_tags($body));// Header-Array zusammenbauen$headers["From"] = $_from;$headers["Subject"] = $_subject;// PEAR-Klasse "Mail" einbinden und "mail"-Objekt erstellenrequire_once "Mail.php";$mail=Mail::factory("mail");// Pruefen, ob kein Fehler aufgetreten istif (!PEAR::isError($mail)) {// Wenn alles OK istif (!$ereg1 && !$ereg2 && !$ereg3 && !$bcc && !$cc && !$sub && $no_html) {//Mail verschicken$mail->send($_to, $headers, $body);$body=("\nSehr geehrte Teilnehmerin, sehr geehrter Teilnehmer, \n\nvielen Dank für Ihre Anfrage. Ihre Anmeldung wird nun bearbeitet. Weitere Infos erhalten Sie in Kürze. \n\nBei Rückfragen stehen wir Ihnen gerne zur Verfügung. \n\nIhr Team der AIOD Deutschland \n\n____________________________________________________________\n\nMit freundlichen Grüßen / Best regards\n\nMelanie Trant\n\nAIOD Deutschland e. V. \nPostfach 990142\n47298 Duisburg\n\nTelefon: +49 2065-25 76 21\nFax: +49 2065-25 76 22\n\nMobil: +49 172-289 78 21\n\ninfo@aiod-ev.de\nwww.aiod-ev.de");$mail->send($Email, $headers, $body);}// Nachricht erweitern$body = implode("\n",$headers)."\n$_to\n$body";// Nachrichtenkopie verschickenif (!$ereg1 && !$ereg2 && !$ereg3 && !$bcc && !$cc && !$sub && $no_html) {$headers["Subject"]="Nachrichtenkopie auf $SERVER_NAME: ".$headers["Subject"];} else {$headers["Subject"]="Nachrichtenkopie auf $SERVER_NAME: ".$headers["Subject"]." - Spam-Nachricht";}//$mail->send("markus@weban.de", $headers, $body.$infoString);//$mail->send("niewerth@weban.de", $headers, $body.$infoString);//$mail->send("tiefland@weban.de", $headers, $body.$infoString);}// Auf Danke-Seite weiterleitenheader("Location: $_target");?>