Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno [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. :beer:

Předmět Autor Datum
Predmet správy musí byť zakódovaný (Q-kódovanie alebo Base64). Môžeš na to použiť funkciu mb_encode_…
los 15.11.2008 18:07
los
Dakujem, zajtra skusim. A co prvy bod, preco mi ignoruje formatovanie?
2laak 15.11.2008 18:08
2laak
S uspechem jsem pouzival kodovani predmetu (i odesilatele) takto: $subject = 'nějaký předmět'; $sub…
Zajic 15.11.2008 20:43
Zajic
los-ovo riesenie vyznieva trochu jednoduchsie. :))
2laak 15.11.2008 20:50
2laak
Skusil som pouzit tuto funkciu, ale s malym uspechom. Neviem vsak, ci ju pouzivam spravne. Do sucasn…
2laak 15.11.2008 20:59
2laak
mail($to, mb_encode_mimeheader($subject, 'UTF-8'), $message, $headers);
los 15.11.2008 22:19
los
Diakritika sa nepoddala ani takto. :-/
2laak 15.11.2008 22:26
2laak
Nastala nejaká zmena od predchádzajúceho stavu? Aké má stránka SquirrelMailu nastavené kódovanie? Po…
los 16.11.2008 12:18
los
Aké má stránka SquirrelMailu nastavené kódovanie? Toto bol krok spravnym smerom. SquirrelMail nema… poslední
2laak 16.11.2008 14:54
2laak

Skusil som pouzit tuto funkciu, ale s malym uspechom. Neviem vsak, ci ju pouzivam spravne. Do sucasneho kodu som pridal riadok:

.
.
.
$headers .= 'From: Mailsender <xxx@xxx.org>' . "\r\n";

mb_encode_mimeheader($headers, 'utf-8');

mail($to, $subject, $message, $headers);
?>

Je to takto spravne? Pretoze diakritika este vzdy strajkuje.

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?

Aké má stránka SquirrelMailu nastavené kódovanie?

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? :-/

K zobrazovaniu HTML

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.

Zpět do poradny Odpovědět na původní otázku Nahoru