Exim4 a odosielanie pošty
Cieľ
Chcem umožniť serveru, respektíve jeho súčastiam automaticky odosielať emailové správy, bez nutnosti rozchodiť plnohodnotný poštový server.
Je potrebné aby server mohol odosielať emaily typu hlásenie o stave alebo správy o zlyhaní a tak podobne.
Riešenie
Keďže nechcem na serveroch inštalovať a spravovať plnohodnotné poštové servery, využijem služieb s Debianom štandardne dodávaného poštového agenta zodpovedného za prenos správ
Exim4
v spojení s inteligentnými poštovými servermi iných poskytovateľov – smarthost
.
Kvôli bezpečnosti a prehľadnosti je pre každý server vhodné vytvoriť nový, samostatný emailový účet u externého poskytovateľa emailových služieb.
Inštalácia
Pred samotnou inštaláciou vykonám najskôr obligátnu aktualizáciu systému a potom nainštalujem balíček exim4
ak ho ešte nemám.
sudo apt update &&\
sudo apt list --upgradable &&\
sudo apt upgrade &&\
sudo apt install exim4
Konfigurácia
Spustím základné nastavenie programu Exim4
.
sudo dpkg-reconfigure exim4-config
Je to interaktívny proces, potrebujem vyplniť požadované údaje alebo odpovedať na otázku:
- Vyberiem možnosť
mail sent by smarthost; received via SMTP or fetchmail
– základný spôsob ako bude Exim4 fungovať. - Ponechám pred nastavené
meno-systému
– poštový názov počítača. - Zadám
127.0.0.1;::1
– bodkočiarkami oddelený zoznam IP adries na ktorých je očakávané prichádzajúce spojenie SMTP. - Ponechám nevyplnené – bodkočiarkami oddelený zoznam domén pre ktoré sa prijíma pošta.
- Ponechám nevyplnené – rozsah IP adries počítačov pre ktoré budeme smarthost.
- Zadám
smtp.zoho.com::587
– doména a dvoma dvojbodkami oddelené číslo portu inteligentného poštového serveru (smarthost) pre odchádzajúcu poštu - Vyberiem možnosť
No
– skryť lokálny názov servera? - Vyberiem možnosť
No
– minimalizovať počet DNS požiadaviek? - Vyberiem možnosť
mbox format in /var/mail/
– spôsob ukladania lokálne prijatej pošty - Vyberiem možnosť
Yes
– rozdeliť nastavenie do menších súborov? - Zadám meno užívateľa s ktorým pracujem
Proces je možné opakovať.
Do ďalšieho konfiguračného súboru doplním prihlasovacie údaje ku novo vytvorenému emailovému účtu, ktorý chcem použiť na odosielanie pošty.
sudo nano /etc/exim4/passwd.client
Doplním záznam o doméne poskytovateľa, poštovom účte a hesle k nemu v tvare:
*.doména.poskytovateľa.com:poštový@účet.sk:tajnéheslo
Údaje sú oddelené dvojbodkou.
Nastavím ešte poslednú vec. Ku jednotlivým užívateľom systému nastavím emailové adresy pre odchádzajúcu poštu.
sudo nano /etc/email-addresses
Záznam pre každého užívateľa na novom riadku v tvare:
užívateľ1: emailová@adresa.sk
užívateľ2: iná@adresa.sk
V manuálových stránkach som sa dočítal, že: “/etc/email-addresses is used to rewrite the email addresses of users. This is particularly useful for users who use their ISP’s domain for email.”, no ak tu nastavím akúkoľvek inú emailovú adresu ako tú ktorú používam na prístup ku poštovému účtu, tak nie je možné odosielať poštu.
Po úspešnom nakonfigurovaní vykonám aktualizáciu nastavení agenta Exim4
, znovu načítam jeho službu a pokúsim sa ho donútiť odoslať aj pred tým neodoslané (zamrznuté) správy.
sudo update-exim4.conf
sudo systemctl restart exim4
sudo exim4 -qff
Ak je všetko v poriadku, nemal by som dostať žiadnu odpoveď. Konfigurácia poštového agenta Exim4
je ukončená.
Testovanie
Pokúsim sa odoslať jednoduchý email.
echo "Telo testovacieho emailu." | mail -s "Subjekt testovacieho emailu" adresat@posta.com
Či už sa to podarí alebo nie, nedostanem žiadnu odpoveď. Môžem skontrolovať logy poštového agenta.
sudo tail /var/log/exim4/mainlog
Zo záznamov môžem vyčítať informáciu o úspešnom doručení ale aj prípadnú príčinu problému.