PHP prakticky/Poslání mailu
Z Wikiknih
K odesílání mailů slouží funkce mail(). Její syntaxe je:
Mail(komu, předmět, text [, hlavičky]);
V komu se definuje e-mail příjemce. Je-li příjemců víc, oddělujeme e-mailové adresy čárkami. Předmět a text je snad každému jasný. Jen si dovolím upozornit, že pokud chceme odřádkování v textu, musíme použít uvozovky a metaznaky \n. V nepovinném parametru hlavičky můžeme nastavit od koho je e-mail, kódování zprávy, prioritu, návratovou cestu pro chyby atp. Hlavičky se oddělují novým řádkem (\n). Odeslání kompletního e-mailu si ukážeme:
<?php $pro = 'muj@prijemce.cz'; // nastavíme příjemce e-mailu $predmet = 'Automatická zpráva pro odběratele novinek serveru jakpsatweb.cz'; $zprava = "Dobrý den,\nchtěli bychom Vás upozornit, "; // samotná zpráva $zprava .= "že jste dlouho nebyl na našich stránkách.\n\n\n"; $zprava .= "-----------------\n"; $zprava .= "Toto je automatický e-mail, neodpovídejte!"; // hlavičky // všimněte si, že e-mail od koho se nastaví až v hlavičkách! $hlavicky = 'From: muj@e-mail.cz'."\n"; // můj e-mail $hlavicky .= "MIME-Version: 1.0\n"; $hlavicky .= "Content-Transfer-Encoding: QUOTED-PRINTABLE\n"; // způsob kódování $hlavicky .= "X-Mailer: PHP\n"; $hlavicky .= "X-Priority: 1\n"; // priorita (1 nejvyšší, 2 velká, 3 normální ,4 nejmenší) $hlavicky .= 'Return-Path: <error@muj.e-mail.cz>'."\n"; // Návratová cesta pro chyby $hlavicky .= "Content-Type: text/plain; charset=ISO-8859-2\n"; // Kódování /* poznámka: normálně se e-maily posílají v ISO-8859-2. Máte alespoň částečnou jistotu, že vám ji schroustne každý e-mailový klient. Osobně jsem zkusil použít i Windows-1250, ale nikdy to nedopadlo dobře... */ // Nyní zbývá odeslání e-mailu a vypsání, zdali se e-mail odeslal. $mail = @Mail($pro, $predmet, $zprava, $hlavicky); if($mail) echo 'E-mail byl úspěšně odeslán.'; else echo 'E-mail se bohužel nepodařilo odeslat!'; ?>
Náš skript tedy při každém zavolání odešle e-mail na muj@prijemce.cz.