

[PHP] Chyba zobrazovania HTML mailu v SquirrelMail
Dobry den poradnaci. Mam problem s posielanim HTML mailu funkciou mail() do schranky SquirrelMail. Tam sa totiz:
1. Uplne ignoruje formatovacie znaky (kurziva, bold, background color) a to zapisane v html forme aj v style css,
2. Nespravne sa zobrazuje diakritika v predmete spravy. PHP subor je kodovany v utf-8 a aj vsade inde pouzivam a definujem tento charset.
Inde (gmail, thunderbird) sa zobrazuju tieto maily presne tak, ako maju. Ma niekto skusenosti konkretne s SquirrelMail alebo tusi, v com robim chybu? Majitel schranky tvrdi, ze mu uz formatovany HTML mail raz prisiel. Bohuzial ho uz zmazal.
Tu je kod mailu:
<?php
$to = 'xxx@xxx.org';
$subject = 'Mail-ľščťžýáíé';
$message = '
<html>
<head>
<title>Titulok</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="red">
<p>Text mailu.</p>
</body>
</html>';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'To: 2laak <xxx@xxx.org>' . "\r\n";
$headers .= 'From: Mailsender <xxx@xxx.org>' . "\r\n";
mail($to, $subject, $message, $headers);
?>
Vopred dakujem.
Predmet správy musí byť zakódovaný (Q-kódovanie alebo Base64). Môžeš na to použiť funkciu mb_encode_mimeheader.
Skusil som pouzit tuto funkciu, ale s malym uspechom. Neviem vsak, ci ju pouzivam spravne. Do sucasneho kodu som pridal riadok:
Je to takto spravne? Pretoze diakritika este vzdy strajkuje.
Diakritika sa nepoddala ani takto.
Nastala nejaká zmena od predchádzajúceho stavu? Aké má stránka SquirrelMailu nastavené kódovanie? Pokazené kódovanie znamená, že sú na stránke zobrazené otázniky, alebo sú tam iné znaky?
K zobrazovaniu HTML: Ako vyzerá stránka s mailom obsahujúcim HTML? Používateľ vidí HTML značky ako text alebo HTML značky vôbec nie sú v zdrojovom kóde stránky?
Toto bol krok spravnym smerom. SquirrelMail nema nastavene na stranke ziadne kodovanie, pokusom/omylom som vsak zistil, ze pouziva stredoeuropske iso-8859-2, ktore som nasledne nahradil vo funkcii za utf-8. Diakritika v predmete spravy je uz ok. Aj ked mi pride hlupe, nedefinovat kodovanie stranky. To maju ludia HTML maily optimalizovat na SquirrelMail?
Chvilu mi robilo problem, ze v maily sa objavovali HTML tagy, neskor som to vyriesil (pri oddelovani headers som pouzil dvojnasobny "\n"). Teda sa mi viac HTML tagy nezobrazovali, ale zobrazoval sa proste neformatovany holy text. Teraz som sa pozrel este raz do nastaveni samotneho SquirrelMail a zistil som, ze som bol minule nepozorny. Existuje volba defaultne zobrazovat HTML. Po navoleni mi zobrazuje uz aj definovany styl stranky.
Dakujem los-ovi a znacim za vyriesene, aj ked ma to kodovanie stve.