Mám problém:
Fatal error: Call to undefined function imap_8bit()
co jiného mohu použít, abych mohl mít v hlavičce emailu diakritiku?
Já používám funkci encode, kterou jsem myslím kdysi opsal někde z php.net
-------------------------------------------------------------
function encode($in_str, $charset) {
$out_str = $in_str;
if ($out_str && $charset) {
// define start delimimter, end delimiter and spacer
$end = "?=";
$start = "=?" . $charset . "?B?";
$spacer = $end . "\r\n " . $start;
// determine length of encoded text within chunks
// and ensure length is even
$length = 75 - strlen($start) - strlen($end);
$length = floor($length/2) * 2;
// encode the string and split it into chunks
// with spacers after each chunk
$out_str = base64_encode($out_str);
$out_str = chunk_split($out_str, $length, $spacer);
// remove trailing spacer and
// add start and end delimiters
$spacer = preg_quote($spacer);
$out_str = preg_replace("/" . $spacer . "$/", "", $out_str);
$out_str = $start . $out_str . $end;
}
return $out_str;
}
-------------------------------------------------------------
pak to použiju třeba takto:
$subject = encode('Předmět s diakritikou','windows-1250');
a posílám samozřejmě funkcí mail()
Jato kdysi řešil: uložil tělo do proměnné $body a pak..
Email s diakritikou dělal i kosek..
function CZMail($to, $subj, $text, $headers = "")
{
// převedení z windows-1250 do iso-8859-2 (pokud je potřeba)
$text = StrTr($text,
"\x8A\x8D\x8E\x9A\x9D\x9E",
"\xA9\xAB\xAE\xB9\xBB\xBE");
// překódování do Base64
$text = Base64_Encode($text);
// přidání hlaviček
$headers .= "MIME-Version: 1.0\n".
"Content-Type: text/plain; charset=\"iso-8859-2\"\n".
"Content-Transfer-Encoding: base64\n";
// odeslání e-mailu
Mail($to, $subj, $text, $headers);
}
viz http://www.kosek.cz/clanky/tipy/qa07.html
malo by stacit iba zadat do hlavicky spravne kodovanie (to, ktore mas pouzite na svojej stranke)