Postfix je populárny bezplatný softvér s otvoreným zdrojovým kódom, ktorý funguje ako agent prenosu pošty (MTA). Úlohou Postfixu je smerovať a doručovať e-maily. Okrem klasického použitia je možné Postfix nakonfigurovať aj tak, aby odosielal e-maily iba prostredníctvom lokálnych aplikácií.
Táto aplikácia Postfixu je užitočný trik, ktorý sa dá použiť v rôznych situáciách. Môže sa použiť napríklad pri pravidelnom odosielaní e-mailových upozornení, pri práci s poskytovateľom e-mailových služieb tretej strany s obmedzenou odchádzajúcou prevádzkou atď. V porovnaní s akýmkoľvek plnohodnotným SMTP serverom je Postfix ľahšou alternatívou, ktorá si zároveň zachováva potrebné funkcie.
V tomto návode sa dozviete, ako nainštalovať a nakonfigurovať Postfix ako SMTP server iba na odosielanie v systéme Ubuntu.
Požiadavky
Na to, aby ste mohli postupovať podľa tohto návodu, musíte splniť nasledujúce požiadavky:
-
Musíte mať správne nakonfigurovaný server Ubuntu s prístupom k používateľovi sudo, ktorý nie je root.
-
Potrebujete tiež plne registrovaný názov domény. Viac informácií o názvoch domén sa dozviete v našom príspevku Inštalácia SSL certifikátu od komerčnej certifikačnej autority .
-
Nakoniec budete potrebovať DNS záznam s názvom domény smerujúcim na verejnú IP adresu servera.
Inštalácia Postfixu
Po splnení podmienok je server pripravený na nasadenie Postfixu. Najjednoduchším spôsobom inštalácie Postfixu je inštalácia balíka mailutils. Je priamo dostupný z oficiálnych repozitárov Ubuntu.
Najprv otvorte terminál a aktualizujte databázu balíkov APT :
|
1 |
sudo apt update |

Potom môžete nainštalovať Postfix:
|
1 |
sudo apt install mailutils |

Počas procesu inštalácie sa zobrazí nasledujúce konfiguračné okno. Predvolená možnosť je Internet Site. Na potvrdenie výberu stlačte TAB, čím presuniete kurzor na ďalšiu časť. Potom stlačte Enter:

V ďalšom kroku budete požiadaní o zadanie systémového názvu pošty (System mail name). Bude to názov priradený serveru v čase vytvorenia. Ako je popísané v skripte, ak je e-mailová adresa pre lokálneho hostiteľa „foo@example.org“, potom by systémový názov pošty bol example.org:

Upozorňujeme, že konfiguračný skript môžete kedykoľvek neskôr spustiť aj pomocou nasledujúceho príkazu:
|
1 |
sudo dpkg-reconfigure postfix |
Konfigurácia Postfixu
V tomto kroku bude Postfix nakonfigurovaný tak, aby odosielal a prijímal e-maily iba z localhost. To vyžaduje, aby Postfix počúval na rozhraní loopback. Je to virtuálne sieťové rozhranie, ktoré server používa na internú komunikáciu. Ďalej otvorte konfiguračný súbor Postfixu pomocou textového editora podľa vášho výberu:
|
1 |
sudo nano /etc/postfix/main.cf |
Zmeňte hodnotu inet_interface na loopback-only:

Ďalšia direktíva, ktorú musíte zmeniť, je mydestination. Definuje zoznam domén, ktoré sa doručujú prostredníctvom prenosu doručovania pošty local_transport . Predvolená hodnota bude vyzerať približne takto:

Zmeňte jej hodnotu na nasledujúcu:
|
1 |
mydestination = localhost.$mydomain, localhost, $myhostname |

V prípade, že vaša doména je v skutočnosti subdoménou a chcete, aby e-maily vyzerali, akoby boli odoslané z hlavnej domény, pridajte na koniec konfigurácie Postfixu nasledujúcu direktívu. Odstráni subdoménu z e-mailovej adresy:
|
1 |
masquerade_domains = <main_domain> |

Aby sa zmeny prejavili, reštartujte Postfix:
|
1 |
sudo systemctl restart postfix |
Testovanie SMTP servera
Za predpokladu, že proces konfigurácie prebehol úspešne, je čas ho otestovať. Ak to chcete urobiť, skontrolujte, či Postfix dokáže odoslať e-mail na externý e-mailový účet pomocou príkazu mail. Je súčasťou balíka mailutils :
|
1 |
echo "Test email body" | mail -s "Subject line" <email_address> |
Správa by mala doraziť na zadanú e-mailovú adresu. V tomto bode sú všetky odoslané e-maily nezašifrované. Poskytovatelia služieb vo všeobecnosti označujú takéto e-maily ako spam, preto nezabudnite skontrolovať priečinok so spamom, či e-mail dorazil.
Ak mail príkaz nahlási chybu alebo e-mail nedorazil ani po dlhšom čase, znova skontrolujte konfiguráciu Postfixu a uistite sa, že názov servera a hostname sú správne nastavené. S touto konfiguráciou sa bude zdať, že e-maily sú odosielané z nasledujúcej adresy:
|
1 |
<username>@<domain> |
Tu bude username používateľským menom používateľa servera, ktorý spustil príkaz mail .
Presmerovanie systémovej pošty
Úspešne sme overili, že e-mailový server je správne nakonfigurovaný a funkčný. Teraz ho musíme nakonfigurovať na presmerovanie e-mailov pre root. Všetky systémom generované správy odoslané na server budú presmerované na externú e-mailovú adresu. Pre príjemcov e-mailov obsahuje súbor /etc/aliases zoznam alternatívnych mien. Otvorte ho pomocou textového editora podľa vášho výberu:
|
1 |
sudo nano /etc/aliases |
Predvolene bude vyzerať takto:

Na koniec súboru pridajte nasledujúci riadok:
|
1 |
root: <email_address> |

Hovorí, že e-maily odoslané používateľovi root budú presmerované na e-mailovú adresu. Aby sa zmena prejavila, spustite nasledujúci príkaz. Znova zostaví databázu aliasov, ktorú používa príkaz mail :
|
1 |
sudo newaliases |
![]()
Ďalej musíte otestovať, či bola zmena úspešná. Pošlite testovací e-mail používateľovi root:
|
1 |
echo "Test root email body" | mail -s "Subject line" root |
E-mail by mal doraziť na zadanú e-mailovú adresu. Nezabudnite skontrolovať priečinok so spamom, pretože zatiaľ nie je nakonfigurované žiadne šifrovanie.
Povolenie šifrovania SMTP
Odosielanie e-mailov v nezašifrovanom formáte je riskantný krok. Na zaistenie bezpečnosti je potrebné mať povolené šifrovanie SMTP. Aby sme to dosiahli, požiadame o bezplatný certifikát TLS od spoločnosti Let’s Encrypt pre vašu doménu.
Pre Ubuntu je to nástroj Certbot, ktorý robí túto prácu. Našťastie je priamo dostupný z oficiálneho repozitára Ubuntu. Nainštalujte Certbot pomocou nasledujúceho príkazu:
|
1 |
sudo apt install certbot |

Za predpokladu, že ma server nakonfigurovaný UFW, je potrebné mať otvorený port 80 , aby mohlo prebehnúť overenie domény. Spustite nasledujúci príkaz na jeho povolenie:
|
1 |
sudo ufw allow 80 |

Teraz spustite Certbot na vygenerovanie certifikátu. Prikazuje Certbotu vydávať certifikáty so 4096-bitovým kľúčom RSA. Overenie prebehne cez port 80 (HTTP):
|
1 |
sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d <domain> |
Výstup bude vyzerať približne 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 |
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Obtaining a new certificate Performing the following challenges: http-01 challenge for '<domain>' Čaká sa na overenie... Čistenie up výziev DÔLEŽITÉ POZNÁMKY: - Gratulujeme! Váš certifikát a reťazec boli been uložené v: /etc/letsencrypt/live/<domain>/fullchain.pem Váš kľúč súbor bol been uložený v: /etc/letsencrypt/live/<domain>/privkey.pem Váš certifikát vyprší expire dňa 2020-07-11. Pre získanie a novej alebo upravenej verzie tohto this certifikátu v budúcnosti future, jednoducho spustite certbot znova. Pre ne-interaktívne obnovenie *všetkých* of vašich certifikátov, spustite "certbot renew" - Ak sa vám páči Certbot, zvážte, prosím, podporu našej práce prostredníctvom: Darovania pre ISRG / Let's Encrypt: https://letsencrypt.org/donate Darovania pre EFF: https://eff.org/donate-le |
Kľúč bude uložený v nasledujúcom adresári:
|
1 |
/etc/letsencrypt/live/<domain> |
Teraz, keď je váš certifikát vygenerovaný, otvorte konfiguračný súbor Postfixu v textovom editore:
|
1 |
sudo nano /etc/postfix/main.cf |
Find the section TLS parameters:

After that, change the value of the directives smtpd_tls_cert_file and smtpd_tls_key_file:

Next, save and close the file. To take the changes into effect, restart Postfix:
|
1 |
sudo systemctl restart postfix |
Finally, send a dummy email again to a target email address:
|
1 |
echo "Toto je telo e-mailu" | mail -s "Predmet e-mailu" <email> |
E-mail by sa teraz mal zobraziť normálne ako ostatné e-maily. Ak skontrolujete technické informácie e-mailu, zobrazí sa ako šifrovaný.
Záverečné myšlienky
Gratulujeme! Úspešne ste nakonfigurovali e-mailový server určený len na odosielanie, poháňaný systémom Postfix. E-mailové transakcie sú tiež zabezpečené pomocou príslušného šifrovacieho kľúča.
Ďalšie spôsoby optimalizácie prenosu e-mailov nájdete v tomto návode Najlepšie spôsoby, ako používať SMTP server Google.
Príjemnú prácu s počítačom!
Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.