Přeskočit na obsah

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.