Postfix to aplikacja serwerowa, która pozwala między innymi zaimplementować protokół SMTP do zarządzania wysyłaniem poczty. Jest to jedno z najszybszych rozwiązań na rynku, bardzo cenione za łatwość konfiguracji i bezpieczeństwo.
W tym poradniku wyjaśniono, jak zainstalować i skonfigurować Postfix na Ubuntu 18.04.
Najpierw połącz się z serwerem za pośrednictwem SSH. Jeśli jeszcze tego nie zrobiłeś, zalecamy skorzystanie z naszej instrukcji, aby nawiązać bezpieczne połączenie przez SSH. W przypadku lokalnego serwera przejdź do następnego punktu i otwórz terminal swojego serwera.
Tylko i wyłącznie na potrzeby tego poradnika korzystamy z użytkownika systemowego root.
W przypadku gdy będziesz korzystać do nauki z innego użytkownika może nastąpić konieczność nadania praw dostępowych do katalogu.
Wszędzie gdzie podajemy moja_domena.pl należy wprowadzić swoją nazwę domeny, którą wcześniej trzeba przekierować na serwer.
Instalacja Postfix
Po połączeniu się z serwerem poprzez SSH, rozpocznij instalację Postfix poprzez wprowadzenie następującej komendy:
$ sudo apt install postfix
Jeśli wystąpią problemy z instalacją wykonaj polecenie:
Bądź w razie konieczności:
Następnie ponów próbę instalacji Postfix’a wpisując pierwszą komendę.
Podczas instalacji zostaniemy poproszeni o wybór właściwej opcji konfiguracji Postfix:
Z listy wybierz instalację „Internet Site”.
Po zatwierdzeniu opcji zostaniesz poproszony o wprowadzenie "System mail name".
W tym polu możesz podać nazwę systemu mailowego, bądź co jest lepszym rozwiązaniem nazwę domeny wskazującej na serwer.
Po zatwierdzeniu, Postfix powinien być prawidłowo zainstalowany w systemie.
Wszystkie pliki konfiguracyjne Postfix znajdują się w folderze etc/postfix/. Najważniejsze pliki to main.cf oraz master.cf. Kolejnym krokiem jest edycja pliku main.cf.
Przed rozpoczęciem edycji pliku konfiguracyjnego, możesz wykonać kopię zapasową obecnej wersji:
$ sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.backup
Następnie przy pomocy edytora tekstu otwórz plik który chcesz zmienić:
$ sudo vim /etc/postfix/main.cf
Wszystkie wiersze konfiguracji nie muszą zaczynać się od spacji lub znaków tabulacji. Wszelkie komentarze muszą zaczynać się od znaku #. Niektóre podstawowe parametry, które należy zmodyfikować, wymieniono poniżej:
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = moja_domena.pl
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, moja_domena.pl, localhost.moja_domena.pl, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = Maildir/
W powyższych parametrach konfiguracji jako przykład użyto domeny „moja_domena.pl”; zastąp ją nazwą posiadanej domeny. Zmień w razie konieczności mydestination według wzoru:
mydestination = $myhostname, moja_domena.pl, localhost.moja_domena.pl, localhost
Po zapisaniu pliku wpisz następującą komendę, konfigurując tym samym home_mailbox, a następnie zrestartuj Postfix’a:
$ sudo postconf -e 'home_mailbox= Maildir/'
$ sudo systemctl restart postfix
Pamiętaj, że każda kolejna modyfikacja plików konfiguracyjnych pociąga za sobą konieczność ponownego załadowania usługi:
$ sudo systemctl reload postfix
W przypadku wystąpienia problemów, parametry i status Postfix’a można sprawdzić w logach wykonując poniższe polecenie:
$ sudo tail /var/log/mail.log
Konfiguracja Firewalla
W przypadku firewalla w systemie skonfiguruj go, aby umożliwić ruch poczty.
Podczas korzystania z zapory UFW dostarczane są wstępnie zainstalowane profile Postfix. Sprawdźmy, jak je włączyć.
Aby sprawdzić dostępne profile zainstalowane w firewalla UFW, uruchom to polecenie:
Lista podobna do poniższej zostanie wyświetlona na ekranie:
Available applications:
Postfix
By zezwolić na połączenie z usługą wpisz:
Konfiguracja środowiska
By zainstalować klienta musisz w pierwszej kolejności zweryfikować czy zmienna środowiskowa MAIL została zainstalowana poprawnie. Klient będzie weryfikował tą zmienną aby dowiedzieć się gdzie szukać użytkownika poczty.
By dodać zmienną do plików wpisz:
$ echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
Następnie wpisz poniższą komendę by odczytać zmienną do bieżącej sesji:
$ source /etc/profile.d/mail.sh
Instalacja oraz konfiguracja klienta poczty
W celu weryfikacji poprawnej konfiguracji postfix’a zainstaluj klienta pocztowego s-nail. Wpisz poniższą komendę:
$ sudo apt install s-nail
Następnie edytuj plik s-nail.rc, aby móc wejść nawet do pustej skrzynki oraz by utworzyć plik do przechowywania wysyłanych wiadomości. W tym celu wpisz:
$ sudo nano /etc/s-nail.rc
Na końcu edytowanego pliku dodaj następujące pozycje:
set emptystart
set folder=Maildir
set record=+sent
Test klienta
W celu utworzenia właściwej struktury katalogów najprościej będzie wysłać mail do siebie samego.
$ echo 'init' | s-nail -s 'init' -Snorecord root
Możesz otrzymać następujący komunikat:
Nie jest to błąd i może być wyświetlany w pierwszej wiadomości. By to zweryfikować wpisz:
Powinieneś otrzymać następujący komunikat:
/root/Maildir:
cur new tmp
/root/Maildir/cur:
/root/Maildir/new:
1588677820.Vfd00I283d7M154349.test
root/Maildir/tmp:
Test wysłania wiadomości
Utwórz wiadomość testową, która zostanie wysłana wpisując:
Następnie wyślij ją wpisując komendę:
$ cat ~/test_message | s-nail -s 'Tytul wiadomosci' –r root@moja_domena.pl docelowy_adres_e-mail
Jeśli wszystko zostało poprawnie skonfigurowane na adres docelowy powinien dojść e-mail.
Wysłane i odebrane wiadomości możesz sprawdzić wpisując:
Polecenie h wyświetli maile, d pozwoli wykasować mail, natomiast q wychodzi do wiersza poleceń.