Ahoj,
před nějakou dobrou jsem si z jakpsatweb stáhl skript na odesílání emailu. S diakritikou jsem nikdy problém neměl. Přikládám zdrojový kód. Snad ti to pomůže:
Kód:
<?php
function autoUTF($s)
{
// detect UTF-8
if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s))
return $s;
// detect WINDOWS-1250
if (preg_match('#[\x7F-\x9F\xBC]#', $s))
return iconv('WINDOWS-1250', 'UTF-8', $s);
// assume ISO-8859-2
return iconv('ISO-8859-2', 'UTF-8', $s);
}
function cs_mail ($to, $predmet, $zprava, $head = "")
{ $predmet = "=?utf-8?B?".base64_encode(autoUTF ($predmet))."?=";
$head .= "\n";
$head .= "Content-Type: text/plain; charset=\"utf-8\"\n";
$head .= "Content-Transfer-Encoding: base64\n";
$zprava = base64_encode (autoUTF ($zprava));
return mail ($to, $predmet, $zprava, $head); }
?>
<?
$predmet = $_POST['predmet']; //input box ve strance s name=predmet
$email = $_POST['email'];//input box ve strance s name=email
$spam = $_POST['spam'];//input box ve strance s name=spam
$zprava = $_POST['zprava'];//input box ve strance s name=zprava
if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2")
{
cs_mail("email@email.cz", $predmet, $zprava, "From: " . $email);//email na ktery se odesle zprava
echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
}
else
{
echo "<p>Váš e-mail se <strong>nepodařilo odeslat</strong> pravděpodobně jste nevyplnili všechny údaje, nebo nevíte kolik je 1 + 1.</p>";
}
?>
Omlouvám se za odsazení zdrojového kódu. Opravim to jakmile to půjde.