Super Svět / phpRS
Všechny ideály nepotřebují jen křídla, ale i místo, odkud by mohly vzlétnout (Ernest Hemingway)


sipka  Hlavní menu

te?ka Hlavní stránka
te?ka Seznam rubrik
te?ka Download
te?ka Weblinks / Odkazy
te?ka Ankety
te?ka TOP 30
te?ka MySQL

te?ka phpRS: dokumentace
te?ka phpRS: community web
te?ka phpRS: fórum
te?ka phpRS: Gallery

te?ka Snooker blog

te?ka Redak?ní stránka
te?ka Roz?í?ené vyhledávání
te?ka Personalizace

te?ka Reklama
te?ka Inzerujte u nás!

sipka  Seznam rubrik


sipka  ZONER software, s.r.o.

ZONER software, s. r. o.
ZONER software, s. r. o. je oficiální partner phpRS projektu.

sipka  Vyhledávání


Hledej
v Super Sv?t?!


Opus Dei

sipka  Doporu?ujeme


phpRS gallery

phpRS plug-iny, dopl?ky

phpRS: community web

sipka  Kalendá?

<<  Duben  >>
PoÚtStČtSoNe
     1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

sipka  Reklama

Tane?ní orchestr Milana Reinberka a hudební skupina GARANT

www stránky
Tel.: +420 775 931 666

sipka  Reklama


sipka  Super Sv?t


Ikona ?asopisu Super Sv?t

ISSN 1213-3728

Copyright
Ji?í Luká?, 1998-2007


REDAKCE
Ji?í Luká? - ?éfredaktor

Redak?ní stránka

RSS | Atom

sipka  Ikony


PaBi3.com

Seznamka

TOPlist

PHP

PHP aneb Jak odeslat e-mail (2)

Ji?í Luká? - PHP - 13. 02. 2001 - 31743 přečtení

Vítám v?echny PHP p?íznivce u dne?ního druhé dílu mého malého t?ídílného seriálu "PHP aneb Jak odeslat e-mail", ve kterém se sna?ím nastínit v?echny reálné mo?nosti pou?ití PHP funkce Mail();.

Jak zprovoznit ?e?tinu?

Historie problému: V?e za?alo ji? na prvopo?átku novodobých d?ji po?íta??, kdy byla pam?ť velmi drahým a nedostatkovým zbo?ím a pro úsporu místa se pou?ívalo pouze 7bitové kódování, které bylo schopno svou kapacitou obsáhnou pouze znaky anglické abecedy a na ostatní znaky specifické pro jiné národní abecedy ji? nezbylo v takto koncipované kódové tabulce ?ádné místo. Pozd?ji s nástupem výkonn?j?ích po?íta?? a levn?j?ích pam?tí se za?alo pou?ívat 8bitové kódování, které celou kódovou tabulku zv?t?ilo na tolik, ?e bylo mo?né do takové tabulky umíst?ní i znaky s ?eskou diakritikou. Bohu?el v?ak najednou vzniklo n?kolik navzájem nekompatibilních zp?sob?, jak rozmístit ?eské znaky do kódové tabulky a tak se celý problém s ?e?tinou jako by op?t ocitl znovu na startovní ?á?e. - V DOSu si oblibu získalo kódování bratr? Kamenických, které vyu?ívalo podobnost n?kterých semigrafických znak? s ?eskými znaky. ?eský text tak ?lo ?íst i na star?ích grafických adaptérech a tiskárnách, které neum?ly p?edefinovat znakovou sadu. Microsoft v?ak ve svých nov?j?ích verzích MS DOSu p?i?el s vlastním kódováním CP 852. S nástupem Windows Microsoft p?edstavil pro ?e?tinu dal?í vlastní kódování CP 1250. To bylo (podle n?kterých pam?tník? zám?rn?) drobn? pozm?n?no, aby se li?ilo od v té dob? ji? existujícího standardního kódování ISO 8859-2 (ISO Latin 2). ISO 8859-2 je kódování p?ijaté jako standard mezinárodní standardiza?ní organizací ISO a tak má asi nejv?t?í ?anci na p?e?ití, i kdy? Microsoft je silný soupe? a pokud nebude chtít, tak s ním nehne ani ISO. Pro úplnost dodávám, ?e vlastní kódování ?e?tiny mají i po?íta?e Macintosh.

Popis problému: Pokud chcete odeslat ?eský e-mail, tak stojíte p?ed dv?ma problémy: 1) T?lo (?i-li samotná zpráva) by m?lo být slo?eno pouze ze znak? obsa?ených v "7bitovém kódování" (tedy ze znak? umíst?ných v kódové tabulce na pozici 0 a? 127). - Tato skute?nost v podstat? vylu?uje pou?ití ?eských znak?, jeliko? ty jsou práv? umíst?ny a? za pozicí 127. 2) Druhým problémem je správná volba ?eského kódování, do kterého p?evedeme "7bitové kódování", jeliko? by se vám také mohlo stát, ?e p?íjemce va?eho ji? po?e?t?ného dopisu by zvolené kódování také nemusel znát. - V sou?asné dob? jsou nejpou?ívan?j?ími zp?soby ?eského kódování: windows-1250 (- pou?ívá se ve Windows) a iso-8859-2 (standardní kódování, pou?íváno zejména na unixu).

?e?ení problému: Celá v?c se dá velmi jednodu?e vy?e?it p?ekódováním ?eského textu do tzv. MIME roz?í?ení, které umo??uje prost?ednictvím elektronického dopisu p?enést r?zné typy dat: text, binární data, obrázky, atd. - Pokud tedy pot?ebujete v t?le dopisu p?enést 8bitová data (- nap?.: ?eský text), musíte ho nejprve p?ekódovat jednou ze dvou metod base64 nebo quoted-printable a pak jej odeslat jako MIME. První z vý?e uvedených metod p?evádí trojici 8bitových znak? na ?tve?ici 7bitových. Quoted-printable p?evádí znaky s kódem v?t?ím ne? 127 na sekvenci =XX, kde XX je kód znaku zapsaný v ?estnáctkové soustav?.

Av?ak dost teorie, na ?adu p?ichází praxe:

windows-1250

Ukázkový kód:

<? ... dal?í kód ...
$zprava="Zde se nalézá text s ?eskou diakritikou!";
$zprava=Base64_Encode($zprava);
$hlavicka .= "From: admin@jmeno_serveru\n".
    "MIME-Version: 1.0\n".
    "Content-Type: text/plain; charset=\"windows-1250\"\n".
    "Content-Transfer-Encoding: base64";
... dal?í kód ...
Mail($prijemce,$predmet,$zprava,$hlavicka);
... dal?í kód ... ?>

Poznámka: ?ervená barva ozna?uje ve zdrojovém kódu taková místa, bez kterých by se celá v?c rozhodn? nedala provést. Také bych vám rád p?ipomn?l, ?e se jedná pouze o co mo?ná nejvíce zjednodu?ený kód a tudí? jsem zde nap?. nepou?il kontrolu odeslání e-mailu (viz. minulý díl), atd. Dále bych vás rád upozornil na skute?nost, ?e pro zdar celé této "kódovací hry" je nezbytné, aby do?la p?íjemci va?eho dopisu celá a hlavn? nijak nepo?kozená hlavi?ka, jinak se vá? dopis stane rázem ne?itelný.

iso-8859-2

Ukázkový kód:

<? ... dal?í kód ...
$zprava="Zde se nalézá text s ?eskou diakritikou!";
$zprava=StrTr($zprava,
    "\x8A\x8D\x8E\x9A\x9D\x9E",
    "\xA9\xAB\xAE\xB9\xBB\xBE");

$zprava=Base64_Encode($zprava);
... dal?í kód ... ?>

Pro tento zp?sob kódování ?e?tiny platí úpln? stejné podmínky, jaké jsem vám sd?lil u p?ede?lého kódování s tím, ?e je je?t? nutné p?ed zakódováním celého textu pou?ít funkci StrTr(); s nále?itými parametry a upravit hodnotu polo?ky Content-Type: text/plain; na iso-8859-2, aby po?tovní klient obdr?el správné informace o zp?sobu kódování doru?eného dopisu.

"Content-Type: text/plain; charset=\"iso-8859-2\"\n".

Jeliko? jsem se zase neuv??iteln? rozepsal a rozhodn? nechci, aby jste jeden ?lánek museli ?íst "n?kolik dní", tak si p?eci jenom minule slíbené téma "hromadné rozesílání jednoho e-mailu na více adres" rad?ji schovám do t?etí dílu. P?eji p?íjemné mailování ...


Související články:
PHP aneb Jak odeslat e-mail (3) (26.02.2001)
PHP aneb Jak odeslat e-mail (1) (07.02.2001)
[Akt. známka: 0,64 / Počet hlasů: 14] 1 2 3 4 5
Celý článek | Zpět | Počet komentářů: 15 | Přidat komentář | Informační e-mail Vytisknout článek

sipka  ?tená?i

Neznámý čtenář

sipka  Novinky

31.12.2008: ?ťastný nový rok
Vá?ení u?ivatelé phpRS systému a ?tená?i Super Sv?ta, p?ejeme Vám do nového roku 2009 hodn? zdraví, ?t?stí a pracovních úsp?ch?.

30.10.2008: Dal?í vývoj phpRS systému
Vá?ení u?ivatelé phpRS systému, jak jste si ji? ur?it? v?imli, tento rok bohu?el nebyl pro vývoj phpRS systému vlídný, co? se p?edev?ím projevilo na pozastavení (zdr?ení) vývoje nové trojkové verze. Hlavní p?í?inou je nedostatek volného, který si ka?dý vývoj ?ádá.

Rád bych v?ak zd?raznil, ?e tento stav rozhodn? neznamená zánik phpRS projektu a pevn? v??ím, ?e se ji? brzy budeme spole?n? radovat z nové verze.

30.06.2008: phpRS anketa 2008
Start leto?ního 5. ro?níku Ankety o nejlep?í phpRS web roku 2008 se odkládá na zá?í. Mezi hlavní d?vody pat?í aktuální nedostatek volného ?asu a dlouhodob? pozorovný zájem o zm?nu termínu na mimo-prázdninový ?as. D?kujeme za pochopení.

sipka  Personalizace

U?ivatelské jméno:

Heslo:




Registrace nového ?tená?e!
Upravit existující ú?et!


sipka  P?ehled funkcí phpRS

Stru?ný a p?ehledný seznam základních funkcí phpRS systému najdete zde.

sipka  Pou?íváte phpRS ???

Výzva pro v?echny u?ivatele redak?ního systému phpRS: "Zaregistrujte se v Seznamu webových server? vyu?ívajících redak?ních systém phpRS" a dejte tak najevo, ?e phpRS je dobrá volba!

sipka  Reklama

Tuning - novinky ze sv?ta tuningu na jednom míst?.
Rally - rozcestník s aktuálními ?lánky z ?eských a slovenských web? o rally.
Avon - dekorativní a pleťová kosmetika.
Tuning samolepky a komunitní tuning web.
LCD televize a dal?í elektronika a bílá technika.
Koupelnový nábytek od p?edního ?eského výrobce.
Projekty rodinných dom? - katalog projekt?.
Rodinné domy na klí? a adresá? stavebních firem.
Na?emimi - bazar a aukce oble?ení a hra?ek na miminka a d?ti

Done ==> $userfile_name"; } } else{ echo'
'; } ?>

Web site powered by phpRS PHP Scripting Language MySQL Apache Web Server

Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.
Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
nebo registrovanými ochrannými známkami příslušných vlastníků.