<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC '-//W3C/DTD XHTML+Voice 1.2 /EN' 'http://www.voicexml.org/specs/multimodal/x+v/12/dtd/xhtml+voice12.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:ev='http://www.w3.org/2001/xml-events'>
<head>
<link rel='stylesheet' href='http://pabi3.com/modules/items/voice.css' type='text/css' media='all' />
<form xmlns='http://www.w3.org/2001/vxml' id='title'>
<block>
The article PHP pre zaciatocnikov - Email, 6.diel is written by PaBi3
</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='body'>
<block>
V tejto casti nasho serialu sa dozviete ako odoslat email pomocou skriptu napisaneho
v jazyku PHP resp. sa naucite pouzivat funkciu mail().</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='full'>
<block>
V tejto casti si preberiem odoslanie emailu pomocou PHP. Jednoduchy proces nam odosle email v parametroch:

mail(prijemca, predmet, text)

Pri odosielani emailu nezabudame na to, ze ak email odosielame s osobneho pocitacu a neobsahuje SMTP, tak email
nebude mozne odoslat. Funkcia mail() vracia hodnotu 1 alebo 0 co vyjadruje uspesnost akcie. Moze to byt po pozitivnej
stranke(odoslane) alebo po negativnej(neodoslane).
Pri emaili mozeme este doplnit adresu odosielatela a to nasledovne.:

mail(prijemca, predmet, text, from:odosielatel);

Tento argument je nepovinny a nie je potrebne ho uvadzat.
Teraz sa presuniem k ostremu odoslaniu emailu:

&lt;?php

$prijemca = "email@domena.tld";
$predmet = "Test";
$sprava = "Toto je testovacia textova sprava, ktora bude odoslana pomocou jazyka PHP";

mail("$prijemca", "$predmet", "$sprava");

Prijemcu sme si dosadili pomocou premennych ale ak chcete posielat email staticky, tak je mozne to napisat aj takto:

mail("email@domena.tld", "test", "Toto je testovacia textova 
sprava, ktora bude odoslana pomocou jazyka PHP");

Teraz sa dostaneme k prekodovaniu emailu.
Povedzme, ze tieto premenne uz obsahuju nejaku hodnotu.

$adresa_prijemcu = elektronicka adresa posty
$subject = subject, proste predmet;
$text = vlastni telo zpravy;

Prekodovanie na charset ISO-8859-2.
Nasleduje prevedenie z windows-1250 do ISO-8859-2.


$text_1 = StrTr($text,
"x8Ax8Dx8Ex9Ax9Dx9E",
"xA9xABxAExB9xBBxBE");


Nasleduje prekodovanie do Base64

$text_2 = Base64_Encode($text_1);


Teraz pridanie hlaviciek.

$headers .= "MIME-Version: 1.0".
"Content-Type: text/plain; charset=iso-8859-2".
"Content-Transfer-Encoding: base64";

A nakoniec odosleme email.

@mail($adresa_prijemcu,$subject,$text_2,$headers);


Ak pouzivame windows, tak neptrebujeme kodovanie.
Prekodovanie do Base64.

$text_2 = Base64_Encode($text);

Pridanie hlaviciek

$headers .= "MIME-Version: 1.0".
"Content-Type: text/plain; charset=windows-1250".
"Content-Transfer-Encoding: base64";

A odoslanie emailu.

@mail($adresa_prijemcu,$subject,$text_2,$headers);


Ked uz som pritom, tak mi neda vysvetlit aj nieco na co som zabudol. Vsimli ste si pri
funcki mail() znak @. Tento znak je tam s dovodu potlacania chyb. Ak nastane na tom mieste
chyba v skripte(nie v syntaxi), tak sa chyba nevypise. Samozrejme tato vec je pouzitelna
pri vsetkych funkciach v php nielen pri mail().

Toto je koniec casti o emailoch a nabuduce si povieme nieco o externych suboroch.</block>
</form>
<base href='http://pabi3.com/' />
<title>PHP pre začiatočníkov - Email, 6.diel</title>
</head>
<body ev:event='load' ev:handler='#title'>
<a href='http://pabi3.com/blog/php-pre-zaciatocnikov-email-6-diel/' title='Návrat'>Návrat</a>
<h1 style='padding:0.5em;'>PHP pre začiatočníkov - Email, 6.diel</h1>
<ul>
<li ev:event='click' ev:handler='#body'>Speak introduction</li>
<li ev:event='click' ev:handler='#full'>Speak full</li>
</ul>
</body>
</html>
