Poznßvßnφ PHP

Zasφlßnφ e-mail∙

M∙₧e se stßt, ₧e budeme pot°ebovat zaslat sv²m zßkaznφk∙m informaΦnφ e-mail, ve kterΘm mohou b²t uvedeny nap°φklad kni₧nφ novinky. Maily m∙₧eme jednoduÜe zasφlat pomocφ mail serveru, kter² zajistφ odeslßnφ zprßvy a pot°ebn²ch PHP funkcφ.


Instalace

Pro zasφlßnφ mail∙ je pot°eba mφt nainstalovßn pat°iΦn² mail server (SMTP server). Pomocφ tohoto serveru m∙₧eme jednoduÜe zasφlat zprßvy podle libosti. Nynφ si ukß₧eme jednotlivΘ kroky, kterΘ povedou k instalaci mail serveru.

Pro naÜe testovacφ ·Φely postaΦφ obyΦejn² mail server, v naÜem p°φpad∞ oblφben² ArGoSoft Mail Server. Tento mail server si m∙₧eme stßhnout na adrese http://www.argosoft.com/applications/mailserver/download.asp nebo v sekci Download.

Po ·sp∞ÜnΘm sta₧enφ, nainstalovßnφ a spuÜt∞nφ p°ejdeme do zßlo₧ky Options (CTRL + O), kde nastavφme do pole DNS Server adresu 127.0.0.1 (localhost).

Nynφ je pot°eba v zßlo₧ce Local Domains nastavit vlastnφ domΘnu. Do pole tedy napφÜeme nap°φklad test.cz a klikneme na tlaΦφtko Add.

Nynφ ji₧ zb²va jen p°idat jednotlivΘ u₧ivatelskΘ ·Φty do naÜφ domΘny test.cz. V zßlo₧ce Users (CTRL + U) kliknutφm na ikonu Add New User.

Nakonec jeÜt∞ musφme nastavit v php.ini v sekci [mail function] nastavit volby:


Maily v PHP

Pro zasφlßnφ mail∙ v PHP m∙₧eme vyu₧φt funkce:

Mail(<komu>, <p°edm∞t>, <zprßva>, [<p°φpadnΘ hlaviΦky>])

P°φklady:


<?
// ZaÜle mail na adresu "test@test.cz" s uveden²m p°edm∞tem a textem.
mail("test@test.cz", "Testovaci zprava", "Ahoj, toto je testovaci zprava");
?>


<?
// ZaÜle mail na adresu "test@test.cz" s uveden²m p°edm∞tem, textem a hlaviΦkami.
mail("test@test.cz", "Testovaci zprava", 
     "Ahoj, toto je testovaci zprava", "From: admin@test.cz");
?>


<?
// Sestavφme hlaviΦky
$hlavicky  = "From: admin@test.cz\r\n"; // od koho e-mail posφlßme
$hlavicky .= "X-Priority: 3\r\n"; // priorita 1 (nejvyÜÜφ), 3, 5 (nejni₧Üφ)
$hlavicky .= "X-Mailer: moje PHP\r\n"; // informace o zp∙sobu odeslßnφ
$hlavicky .= "Return-Path: <admin@test.cz>\r\n"; // zpßteΦnφ mailovß adresa


// ZaÜle mail na adresu "test@test.cz" s uveden²m p°edm∞tem, textem a hlaviΦkami.
mail("test@test.cz", "Testovaci zprava", 
     "Ahoj, toto je testovaci zprava", $hlavicky);
?>

HTML maily

K zasφlßnφ HTML mail∙ m∙₧eme takΘ vyu₧φt funkce Mail, kdy p°idßme dalÜφ nutnΘ hlaviΦky.


<?
// Sestavφme hlaviΦky
$hlavicky  = "From: admin@test.cz\r\n"; // od koho e-mail posφlßme
$hlavicky .= "X-Priority: 3\r\n"; // priorita 1 (nejvyÜÜφ), 3, 5 (nejni₧Üφ)
$hlavicky .= "X-Mailer: moje PHP\r\n"; // informace o zp∙sobu odeslßnφ
$hlavicky .= "Return-Path: <admin@test.cz>\r\n"; // zpßteΦnφ mailovß adresa

$hlavicky .= "MIME-Version: 1.0\r\n";
$hlavicky .= "Content-type: text/html; charset=iso-8859-2\r\n"; // k≤dovßnφ, m∙₧eme takΘ dosadit windows-1250

$zprava = '<html>
	     <head>
                <title>Testovacφ e-mail</title>
             </head>
             <body>
                <p><b>Testovacφ HTML e-mail</b></p>
             </body>
           </html>';

// ZaÜle mail na adresu "test@test.cz" s uveden²m p°edm∞tem, textem a hlaviΦkami.
mail("test@test.cz", "Testovaci zprava", $zprava, $hlavicky);
?>


Pro tento dφl to bude vÜe. V p°φÜtφm dφle budeme dßle pokraΦovat v poznßvßnφ jazyka PHP.

Petr Rympler