Postfix je populární bezplatný software s otevřeným zdrojovým kódem, který funguje jako agent pro přenos pošty (MTA). Úkolem Postfixu je směrovat a doručovat e-maily. Kromě klasického použití lze Postfix nakonfigurovat také tak, aby odesílal e-maily pouze z lokálních aplikací.
Toto použití Postfixu je užitečný trik, který lze nasadit v různých situacích. Může být například použit při pravidelném odesílání e-mailových oznámení, při práci s poskytovatelem e-mailových služeb třetí strany s omezeným odchozím provozem atd. Ve srovnání s jakýmkoli plnohodnotným SMTP serverem je Postfix lehčí alternativou, která si zároveň zachovává potřebné funkce.
V tomto návodu se podívejte, jak nainstalovat a nakonfigurovat Postfix jako SMTP server pouze pro odesílání na Ubuntu.
Požadavky
Abyste mohli postupovat podle tohoto návodu, musíte splnit následující požadavky:
-
Musíte mít správně nakonfigurovaný server Ubuntu s přístupem k uživateli bez oprávnění root s právy sudo.
-
Potřebujete také plně registrovaný název domény. Více se o názvech domén dozvíte v našem příspěvku Instalace SSL certifikátu od komerční certifikační autority .
-
Nakonec budete potřebovat DNS záznam s názvem domény ukazujícím na veřejnou IP adresu serveru.
Instalace Postfixu
Jakmile jsou splněny předpoklady, server je připraven k nasazení Postfixu. Nejjjednodušším způsobem instalace Postfixu je nainstalovat balíček mailutils . Je přímo dostupný z oficiálních repozitářů Ubuntu.
Nejprve spusťte terminál a aktualizujte databázi balíčků APT :
|
1 |
sudo apt update |

Poté můžete nainstalovat Postfix:
|
1 |
sudo apt install mailutils |

Během procesu instalace se zobrazí následující okno konfigurace. Výchozí možnost je Internet Site. Pro potvrzení výběru stiskněte TAB pro přesun kurzoru na další sekci. Poté stiskněte Enter:

V dalším kroku budete požádáni o zadání systémového názvu pošty (System mail name). Bude to název přiřazený serveru v době vytvoření. Jak je popsáno ve skriptu, pokud je e-mailová adresa pro místního hostitele „foo@example.org“, pak by systémový název pošty byl example.org:

Upozorňujeme, že konfigurační skript lze také kdykoli později spustit pomocí následujícího příkazu:
|
1 |
sudo dpkg-reconfigure postfix |
Konfigurace Postfixu
V tomto kroku bude Postfix nakonfigurován tak, aby odesílal a přijímal e-maily pouze z localhost. To vyžaduje, aby Postfix naslouchal na rozhraní loopback. Jedná se o virtuální síťové rozhraní, které server používá pro interní komunikaci. Dále otevřete konfigurační soubor Postfixu pomocí textového editoru dle vašeho výběru:
|
1 |
sudo nano /etc/postfix/main.cf |
Změňte hodnotu inet_interface na loopback-only:

Další direktiva, kterou musíte změnit, je mydestination. Definuje seznam domén, které jsou doručovány prostřednictvím transportu pro doručování pošty local_transport . Výchozí hodnota bude vypadat nějak takto:

Změňte její hodnotu na následující:
|
1 |
mydestination = localhost.$mydomain, localhost, $myhostname |

V případě, že je vaše doména ve skutečnosti subdoménou a chcete, aby se e-maily tvářily jako odeslané z hlavní domény, přidejte na konec konfigurace Postfixu následující direktivu. Tím se subdoména z e-mailové adresy odstraní:
|
1 |
masquerade_domains = <main_domain> |

Aby se změny projevily, restartujte Postfix:
|
1 |
sudo systemctl restart postfix |
Testování SMTP serveru
Za předpokladu, že proces konfigurace proběhl úspěšně, je čas jej otestovat. Chcete-li to provést, zkontrolujte, zda může Postfix odeslat e-mail na externí e-mailový účet pomocí příkazu mail . Je součástí balíčku mailutils :
|
1 |
echo "Test email body" | mail -s "Subject line" <email_address> |
Zpráva by měla dorazit na zadanou e-mailovou adresu. V tomto okamžiku jsou všechny odeslané e-maily nezašifrované. Poskytovatelé služeb obecně označují takové e-maily jako spam, proto nezapomeňte zkontrolovat složku se spamem, zda e-mail dorazil.
Pokud příkaz mail hlásí chybu nebo e-mail nedorazil ani po delší době, znovu zkontrolujte konfiguraci Postfixu a ujistěte se, že jsou název serveru a hostname správně nastaveny. S touto konfigurací se bude zdát, že e-maily jsou odesílány z následující adresy:
|
1 |
<username>@<domain> |
Zde bude username uživatelské jméno uživatele serveru, který spustil mail příkaz.
Přesměrování systémové pošty
Úspěšně jsme ověřili, že e-mailový server je správně nakonfigurován a funkční. Nyní musí být nakonfigurován pro přesměrování e-mailů pro root. Všechny systémem generované zprávy odeslané na server budou přesměrovány na externí e-mailovou adresu. Pro příjemce e-mailů soubor /etc/aliases obsahuje seznam alternativních jmen. Otevřete jej pomocí textového editoru dle vašeho výběru:
|
1 |
sudo nano /etc/aliases |
Ve výchozím nastavení bude vypadat takto:

Na konec souboru přidejte následující řádek:
|
1 |
root: <email_address> |

To říká, že e-maily odeslané uživateli root budou přesměrovány na e-mailovou adresu. Aby se změna projevila, spusťte následující příkaz. Tím se znovu sestaví databáze aliasů, kterou mail příkaz používá:
|
1 |
sudo newaliases |
![]()
Dále musíte otestovat, zda byla změna úspěšná. Odešlete testovací e-mail uživateli root:
|
1 |
echo "Test root email body" | mail -s "Subject line" root |
E-mail by měl dorazit na zadanou e-mailovou adresu. Nezapomeňte zkontrolovat složku se spamem, protože zatím není nakonfigurováno žádné šifrování.
Povolení šifrování SMTP
Odesílání e-mailů v nezašifrovaném formátu je riskantní krok. Pro zajištění bezpečnosti je vyžadováno mít povoleno šifrování SMTP. Chcete-li toho dosáhnout, požádáme o bezplatný certifikát TLS od Let’s Encrypt pro vaši doménu.
Pro Ubuntu je to nástroj Certbot, který tuto práci odvede. Naštěstí je přímo dostupný z oficiálního repozitáře Ubuntu. Nainstalujte Certbot pomocí následujícího příkazu:
|
1 |
sudo apt install certbot |

Za předpokladu, že má server nakonfigurovaný UFW, je nutné mít port 80 otevřený, aby mohlo proběhnout ověření domény. Spuštěním následujícího příkazu jej povolíte:
|
1 |
sudo ufw allow 80 |

Nyní spusťte Certbot pro vygenerování certifikátu. To přikáže Certbotu vydat certifikáty se 4096bitovým klíčem RSA. Ověření proběhne přes port 80 (HTTP):
|
1 |
sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d <domain> |
Výstup bude vypadat přibližně takto:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Ukládání ladicího protokolu do /var/log/letsencrypt/letsencrypt.log Pluginy vybrané: Authenticator standalone, Installer None Získávání a nového certifikátu Provádění následujících following výzev: http-01 výzva pro '<domain>' Čekání na ověření... Čištění up výzev DŮLEŽITÉ POZNÁMKY: - Gratulujeme! Váš certifikát a řetězec byly been uloženy v: /etc/letsencrypt/live/<doména>/fullchain.pem Váš klíč soubor byl been uložen v: /etc/letsencrypt/live/<doména>/privkey.pem Váš certifikát vyprší expire dne 2020-07-11. Pro získání a nové nebo upravené verze tohoto this certifikátu v budoucnu future, jednoduše spusťte certbot znovu. Pro neinteraktivní -interactively obnovení *všech* of vašich certifikátů, spusťte "certbot renew" - Pokud se vám líbí Certbot, prosím zvažte podporu naší práce prostřednictvím: přispění pro ISRG / Let's Encrypt: https://letsencrypt.org/donate přispění pro EFF: https://eff.org/donate-le |
Klíč bude uložen v následujícím adresáři:
|
1 |
/etc/letsencrypt/live/<doména> |
Nyní, když je váš certifikát vygenerován, otevřete konfigurační soubor Postfixu v textovém editoru:
|
1 |
sudo nano /etc/postfix/main.cf |
Najděte sekci TLS parametry:

Poté změňte hodnotu direktiv smtpd_tls_cert_file a smtpd_tls_key_file:

Poté soubor uložte a zavřete. Aby se změny projevily, restartujte Postfix:
|
1 |
sudo systemctl restart postfix |
Nakonec odešlete testovací e-mail znovu na cílovou e-mailovou adresu:
|
1 |
echo "This is email body" | mail -s "Email subject line" <email> |
E-mail by se nyní měl zobrazit normálně jako ostatní e-maily. Pokud zkontrolujete technické informace e-mailu, zobrazí se jako šifrovaný.
Závěrečné myšlenky
Gratulujeme! Úspěšně jste nakonfigurovali e-mailový server pouze pro odesílání, poháněný Postfixem. E-mailové transakce jsou také zabezpečeny pomocí příslušného šifrovacího klíče.
Další způsoby optimalizace přenosu e-mailů naleznete v tomto návodu Nejlepší způsoby, jak používat SMTP server Google.
Příjemnou práci s počítačem!
Komentáře
Zatím žádné komentáře. Buďte první.