Nainstalujte si zdarma dostupný e-mailový server, který využijete pro zasílání e-mailů u svých PHP aplikací. Vše provádíme na localhostu spolu s využitím Apache + MySQL + PHP.
Při programování redakčních systémů nebo triviálních kontaktních formulářů se již pravděpodobně nespokojíte pouze s nainstalovaným Apachem, PHP a MySQL, ale budete potřebovat otestovat i posílání e-mailů, které lze zasílat pomocí PHP funkce mail(). Chcete-li tuto činnost jednoduše provádět i na localhostu, je třeba nainstalovat e-mailový server.
Který e-mailový server je pro mě ten pravý?
Aplikací, které zprovozní e-mailový server, je celá řada. Pro naše účely nám bude dostačovat malý a rychlý ArGoSoft Mail Server Freeware, který je v nejnižší edici zdarma. Pro stažení nejnovější verze aplikace ArGoSoft Mail Server Freeware můžete navštívit oficiálních stránky nebo využít přímý odkaz ke stažení.
ArGoSoft Mail Server Freeware
Aplikaci stáhněte a proveďte instalaci. Po úspěšném dokončení instalace spusťte nainstalovaný program ArGoSoft. Aplikace se usídlila na hlavním panelu u hodin (tray). Klepněte na ikonu ArGoSoftu pravým tlačítkem myši a z kontextové nabídky vyberte možnost „Show“ (zobrazit). Otevře se vám podobné okno jako na obrázku, avšak zatím bez informačních textů (logů).
Nastavení domény
Nejprve nastavíme doménu, kterou poté můžeme přidělit vytvořeným e-mailovým účtům. V otevřeném okně ArGoSoftu vyberte z horního menu „Tools“ (nástroje) a následně „Options“ (nastavení).
Na dialogovém okně přejděte na záložku „Local Domains“ (místní domény), kde do textového pole v dolní části okna napište „localhost.cz“ tak, jak je uvedeno na následujícím obrázku. Potvrzení domény provedete klepnutím na tlačítko „Add“ (přidat).
Webové rozhraní pro přístup k poště
Pro případ, že budete chtít přistupovat k poště přes webové rozhraní, bude nutné změnit defaultně použitý port, aby nám nekolidoval s Apachem, který je většinou na portu č. 80.
Okno s nastavením ještě nezavírejte. Přejděte na záložku „Ports“ (porty) a změňte port u položky „Web interface“ na nějaký, který nemáte obsazený. Třeba na port č. 81 (viz obrázek).
Změnu potvrdíte a současně okno s nastavením uzavřete klepnutím na tlačítko „OK“.
Webové rozhraní naleznete na adrese http://localhost:81/ nebo http://127.0.0.1:81/, resp. s vámi nastaveným portem.
Vytvoření e-mailového účtu (adresy)
Nyní je na čase vytvořit samotnou e-mailovu adresu, abychom měli kam e-mail zasílat. Opět v hlavním okně programu jděte do menu „Tools“ a tentokrát zvolte „Users“ (uživatelé). V otevřeném okně klepněte na ikonu pro vytvoření nového uživatele. Ikona se nachází, jak je uvedeno na obrázku, v levém horním rohu okna.
Přistupme k nadefinování nového uživatele. Vyplňte textová pole pro „User Name“ (uživatelské jméno), „Real name“ (skutečné jméno), „Password“ (heslo), „Confirm Password“ (heslo pro kontrolu) a „Return Address“ (zpáteční adresu) včetně domény „localhost.cz“. Celé to může vypadat jako na následujícím obrázku.
Poté stačí vše uložit klepnutím na tlačítko „OK“. Následně uvidíte v seznamu nového uživatele.
Okno zavřete klepnutím na tlačítko „Close“ (uzavřít).
Restart e-mailového serveru
Pokud máte e-mailový server spuštěný, nejprve ho ukončete (na hlavním okně vyberte z menu „File“ (soubor), následně „Stop“ a znovu spustě (opět „File“ a tentokrát „Start“). V opačném případě stačí e-mailový server spustit (z menu „File“ vybrat „Start“).
Přístup k poště přes e-mailového klienta
Pro zasílání a příjem e-mailů vašeho účtu je na rozdíl od webového rozhraní příjemnější a efektivnější použít nějakého e-mailového klienta. Můžete využít klasický Outlook Express dodávaný s operačním systémem Windows nebo Windows Mail dodávaný s Windows Vista. Nabízí se i placený Microsoft Outlook, The Bat! nebo alternativní řešení od Mozilly v podobě bezplatného Thunderbirdu.
Konfigurace Outlook Expressu pro příjem a odesílání pošty
Spusťte Outlook Express a z horního menu vyberte „Nástroje“ a následně „Účty“. Na otevřeném dialogovém okně se v pravé horní části nachází tlačítko „Přidat“, na které klepněte a z kontextové nabídky vyberte „Pošta“.
Nyní se otevřelo okno s průvodcem vytvoření účtu. V prvním kroku vyplňte vaše jméno a příjmení. Klepnutím na tlačítko „Další“ se přesuneme na druhý krok, kde je třeba nastavit e-mailovu adresu. Zde použijte adresu, kterou jste si vytvořili pomocí aplikace ArGoSoft. Postupovali jste-li dle totoho průvodce, je to „zdenek@localhost.cz“.
Pomocí tlačítka „Další“ se přesuneme na další okno, kde v horní části výběrového seznamu ponecháme POP3 jako protokol pro stahování pošty. Do následujících dvou textových polí příchozí a odchozí pošty napište „localhost“ a stiskněte tlačítko „Další“.
Nacházíme se na předposledním okně, kde do pole názvu účtu vyplňte uživatelské jméno (dle průvodce „zdenek“ – viz nastavení ArGoSoftu „User Name“) a heslo, které jste si u účtu v ArGoSoftu také nastavili. Poté stačí klepnout na tlačítko „Další“ a následně „Dokončit“.
Nyní jste si nakonfigurovali váš e-mailový klient. Nastavení v ostatních e-mailových klientech je obdobná.
Testovací skript k vyzkoušení
Pokud jste tak doposud neučinili, spusťte si webový server Apache. Pro případ, že Apache nemáte nainstalovaný, můžete využít našeho průvodce instalací nejnovější verze Apache, PHP 5 a MySQL 5 krok za krokem.
Vytvořte si v kořenovém adresáři vašeho webového serveru soubor „test_mailu.php“, vložte do něj následující obsah a soubor uložte.
<?php
$recipient = 'zdenek@localhost.cz';
$subject = 'Předmět - Příliš žluťoučký kůň úpěl ďábelské ódy';
$message = 'Tělo <b>e-mailu</b> - Příliš žluťoučký kůň úpěl ďábelské ódy';
$headers = "From: Jméno odesílatele <odesilatel@example.com>\r\n";
$headers .= "X-Sender: <odesilatel@example.com>\r\n";
$headers .= "X-Mailer: PHP\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "Return-Path: <odesilatel@example.com>\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-2\r\n";
if( @mail($recipient, $subject, $message, $headers) )
{
echo 'E-mail byl úspěšně odeslán.';
}else{
echo 'Chyba: E-mail se nepodařilo odeslat.';
}
?>
Do webového prohlížeče zadejte adresu http://localhost/test_mailu.php. Pokud jste postupovali dle průvodce, měl by se e-mail úspěšně odeslat a vám vypsat hláška „E-mail byl úspěšně odeslán“.
Pro přečtení přijatého e-mailu přejděte do aplikace Outlook Express a z menu „Nástroje“ vyberte „Odeslat a přijmout“ a následně „Odeslat a přijmout vše“. Provede se kontrola na přítomnost nových e-mailů, které se vám stáhnou do klienta. Pro stažení e-mailů lze použít i např. klávesovou zkratku Ctrl + M.
Soubor „test_mailu.php“ si můžete stáhnout. Pro více informací o specifikaci a možnostech zasílání e-mailů navštivte oficiální dokumentaci k funkci mail().