'/^[\w.+-]{2,}\@[\w.-]{2,}\.[a-z]{2,6}$/', 'name' => '/^[[:print:][:space:]]{2,}$/', 'theshow' => '/^[[:print:][:space:]]{10,}$/' # 'text' => '/^[[:print:][:space:]]{10,}$/' ); //Durchlaufe alle Formulardaten: foreach($_POST as $parameter => $wert) { //Formularfelder, die in $pruefung stehen, //m?sen in die oben definierten Muster passen if(isset($pruefung[$parameter])) { if(!preg_match($pruefung[$parameter], $wert)) die('Problems with field ' . $parameter . ': ' . $wert); } else { //Der Rest wird weggeworfen. unset($_POST[$parameter]); } } //Pr?e, ob die Absenderadresse einem g?tigen MX-Host angeh?t //Zu jeder Domain in einer Mailadresse (nach dem @-Zeichen) //sollte ein Mail Exchange Resource Record (MX-RR) im Domain Name //System (DNS) eingetragen sein. Die MX-Hosts versenden die E-Mail //per SMTP. getmxrr() schreibt MX-Hosts in das Array $mxhosts if(!getmxrr(substr(strstr($_POST['sender'], '@'), 1), $mxhosts)) die("E-mail domain not valid for " . $_POST['sender'] . ""); $receiver = "matthias@macphisto.net"; //Die Formulardaten sind ok -- der Mailversand wird vorbereitet: //mail() erwartet Empf?ger, Betreff, Text und weitere Kopfdaten if(mail("matthias@macphisto.net", "Feedback on Macphisto.net", " ____________________________________________________________ Name: $name E-Mail: $sender \n Feedback: $text \n User IP: ".getenv('REMOTE_ADDR')." ____________________________________________________________ www.macphisto.net", "From:team@u2gigs.com \r\n".'Reply-To: '.$sender.'' . "\r\n" .'Content-Type: text/plain; charset="UTF-8"')) { //Es hat geklappt: Bestätigung ausgeben echo "
Contribution from " . $_POST['sender'] . " submitted!
"; } else { //Irgendwas ist schiefgelaufen :-( echo "We have problems sending your message!
"; } #} } else { //Es wurden keine Formulardaten übergeben -> ?>