Zdravím Vás.
Používam nižšie udevený kód na odosielanie formulára na mail. Vygenerovaný mail je v Gmaile, outlook, na rôzdnich firmených mailoch OK. Iba u centrum.sk a atlas.sk mailoch sa mail ako kedy nedekódoval a telo mailu je v podobe:
"VMOhdG8gc3Byw6F2YSBib2xhIHZ5Z2VuZXJvdmFuw6EgeiBvbmxpbmUgc3lzdMOpbXU6CgoKVmVrOiAzIAoKU8O6xI1hc3Ru".
Vie niekto povedať, prečo to všade funguje ina u centrum a atlas nie? V čom sú tieto mailové služby iné? Pomohlo by mi akékoľvek aj principiálne nasmerovanie.
Vďaka.
Kód:
<?php
function autoUTF($s)
{
if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s)) // detect UTF-8
{
return $s;
}
elseif (preg_match('#[\x7F-\x9F\xBC]#', $s)) // detect WINDOWS-1250
{
return iconv('WINDOWS-1250', 'UTF-8', $s);
}
else // 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 .= "MIME-Version: 1.0\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);
}
$from = "From: $q21_mail\r\n";
cs_mail("mail@centrum.sk","Predmet","Správa",$from);
?>