Funkcja testująca zawartość pól formularza:
function test_content_mail($value) {
if(eregi('Content-Transfer', $value) || eregi('Content-Type', $value))
$value = 'error';
if(eregi('Subject:', $value) || eregi('bcc:', $value))
$value = 'error';
if(eregi('MIME-Version', $value))
$value = 'error';
return $value;
}
Funkcja generująca treść maila: (pola do wysłąnia zaczynaja się od prefiksu 'f_')
function mail_tresc($data) {
foreach($data as $key => $value) {
if(preg_match("/^f_/", $key)) {
$error = test_content_mail($value);
if($error=='error') {
$content='error';
break;
}
$content .= substr($key, 2) . ': ' . $value . "";
}
}
return $content;
}
$content = mail_tresc($_REQUEST);
if($content=='error') {
echo 'Error... Wprowadzono niedozowlone tresci.';
exit();
}
$to = <a href="mailto:'kody@kody.wig.pl'">'kody@kody.wig.pl'</a>;
$from = <a href="mailto:'test@kody.wig.pl'">'test@kody.wig.pl'</a>;
$subject = 'Temat';
Dodatkowe nagłówki maila:
$headers = "From: $from\r";
$headers .= "Subject: Temat\r";
$headers .= "MIME-Version: 1.0\r";
$headers .= "Content-Type: text/plain; charset=ISO-8859-2; format=flowed\r";
$headers .= "Content-Transfer-Encoding: 7bit";
$body = 'Treść'."".$content."\r";
$mail_status = mail($to, $subject, $body, $headers);</span><span class="mce_ws_kod"> $url = $_SERVER['HTTP_REFERER'];
$pos = strpos($url, '&wyslano');</span><span class="mce_ws_kod">Zabezpiszenie przed doklejaniem w nieskończoność fo referera zmiennej 'wyslano'
if($pos) {
$url = substr($url, 0, strpos($url, '&wyslano'));
}
header("Location: ".$url.'&wyslano=1');
exit();