Archiv pro štítek: localhost

Ubuntu: Odesílání emailů na localhostu

Ve své podstatě tento článek volně navazuje na můj předchozí text, kde jsem prozradil, jak během vývoje webové aplikace pohodlně přijímat emaily za účelem testování správného chování. Ovšem k tomu, abychom si mohli zprávu přečíst, musí být nejprve odeslána. Velmi jednoduše lze tohoto cíle dosáhnout v Ubuntu po kontaktování služby Gmail. K doručení emailu se použijí servery Google, a to i na localhostu.

Nejprve je nutno nainstalovat pomůcku jménem sSMTP. K tomu slouží tento příkaz:

sudo apt-get install ssmtp

Nyní následuje nezbytné nastavení. Ve svém oblíbeném editoru zobrazte obsah souboru /etc/ssmtp/ssmtp.conf. K uložení změn však pravděpodobně budete potřebovat rootovská práva. Dozajista se proto bude hodit následující:

gksudo gedit /etc/ssmtp/ssmtp.conf

S právy roota dojde k otevření požadovaného umístění v GUI editoru.

Konfigurační soubor obsahuje komentáře, které začínají mřížkou (#). Tyto řádky můžete ignorovat. Cílem je dosáhnout následujícího stavu:

root=jmeno.prijmeni@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=jmeno.prijmeni@gmail.com
UseSTARTTLS=YES
FromLineOverride=YES
AuthUser=jmeno.prijmeni
AuthPass=nejakeTajneHesloKtereNikdoNevi

Ne všechny konfigurační parametry jsou přítomny, a proto se neostýchejte je do souboru připsat.V mém případě šlo o UseSTARTTLS, AuthUser a AuthPass. Když v uvedeném příkladu uvádím jmeno.prijmeni@gmail.com, mám tím na mysli email, který ve službě Gmail používáte. Část jmeno.prijmeni tedy zaměňte za své uživatelské jméno.

Blížíme se do finále, tu náročnější část již máme za sebou. Pro editaci /etc/ssmtprevaliases zadejte:

gksudo gedit /etc/ssmtp/revaliases

Konfigurace vypadá takto:

root:jmeno.prijmeni@gmail.com:smtp.gmail.com:587
uzivatelskeJmeno:jmeno.prijmeni@gmail.com:smtp.gmail.com:587

Je nutno každému linuxovému uživateli jednotlivě povolit používání sSMTP. Vyznačenou část uzivatelskeJmeno tedy nahraďte loginem, kterým se do Ubuntu přihlašujete. Pokud jej neznáte, použijte příkaz who, který vám jej ochotně připomene. Vypíše totiž informace o aktuálně přihlášených účtech. Uživatelské jméno se poté nachází v pomyslné tabulce hned na prvním místě. V mém případě (viz screenshot) se jedná o login ubuntu.

Příkaz who

K otestování správného nastavení poslouží tento příkaz:

sudo ssmtp prijemce@domena.tld

Po napsání své zprávy v terminálu stiskněte Enter a poté CTRL + D. Dojde k odeslání emailu nebo vypsání chybových hlášek.