Kompleksowa obsługa SEO oraz SEM firmy konsultingowej, świadczącej usługi B2B....
Zobacz case studyUwaga: zjedź na sam dół artykułu aby poznać łatwiejszy sposób instalacji
Do edycji plików w poniższym tutorialu wykorzystano edytor Nano. Najczęściej wykorzystywane polecenia w edytorze:
Polecamy również linuksowy eksplorator plików Midnight Commander (mc).
Tworzymy nowego użytkownika w systemie i przyporządkowujemy go do grupy sudo. Nazwa użytkownika powinna być taka sama, jak użytkownik (przed znakiem @) w adresie mailowym, który chcesz założyć:
sudo adduser listonosz sudo

Przyporządkowujemy naszego użytkownika do grupy sudo:
sudo usermod -aG sudo listonosz
Sprawdzamy czy nasz serwer posiada poprawną nazwę hosta:
hostnamectl
W razie potrzeby ustawiamy nazwę hosta:
sudo hostnamectl sethostname example.com
Upewniamy się w panelu rejestratora naszej domeny (lub w panelu firmy świadczącej usługi pośrednictwa m.in. DNS, typu Cloudflare, jeśli z takowej korzystamy) czy rekordy DNS są poprawne lub ewentualnie je uzupełniamy:

Instalujemy Postfix:
sudo apt-get install postfix
W kolejnych oknach konfiguracyjnych wybieramy OK.

W kolejnym oknie wybieramy domyślną opcję „Internet site”:

Dalej wpisujemy naszą nazwę hosta:

Widok pomyślnie zakończonej instalacji Postfix wygląda tak:

Polecenia dotyczące sprawdzenia stanu działania usługi Postfix i restartu:
sudo systemctl status postfix sudo systemctl restart postfix
Uruchamiamy kreator dalszej konfiguracji Postfix, należy wpisać:
sudo dpkg-reconfigure postfix
Przechodzimy jeszcze raz przez uzupełnione wcześniej ekrany, następnie w oknie Recipient for root and postmaster mail możemy wpisać domyślny adres mailowy (typu [email protected]) lub pozostawić to pole puste:

Dalej określamy domyślne destynacje odbierania poczty:

W kolejnym oknie, dotyczącym wymuszenia synchronizacji, wybieramy domyślne „Nie”.
Na kolejnych ekranach potwierdzamy adresy sieci lokalnych, rozmiar skrzynki pocztowej, znak dotyczący adresu lokalnego (zostawiamy „+”), protokoły internetowe („all”). Na tym kończy się kreator konfiguracji ale nie kończy się nasza konfiguracja 😉
Na wszelki wypadek, podajemy inne polecenia mogące przydać się w przyszłości, dotyczące weryfikacji stanu usługi postfix:
Sprawdzenie czy usługa działa:
ps -ef | grep postfix
Sprawdzenie portu 25:
sudo netstat -plnt | grep :25
Sprawdzenie logów (ta komenda wyświetli ostatnie linie logu i będzie je aktualizować na bieżąco, co jest przydatne do monitorowania aktywności Postfixa w czasie rzeczywistym):
sudo tail -f /var/log/mail.log
Sprawdzenie poprawności konfiguracji postfix:
postfix check
Wracając jednak do naszego tutoriala, w kolejnym kroku przetestować możemy wysyłanie poczty lokalnie za pomocą konsoli:
telnet gmail-smtp-in.l.google.com 25
Powinniśmy otrzymać poniższy komunikat.

Kończymy połączenie wpisując:
quit
Dalej możemy przetestować pocztę z poziomu konsoli za pomocą wybranego pakietu spośród poniższych. Wystarczy jeden:
Ad. 1. Testowanie za pomocą narzędzia mail. Narzędzie mail jest często preinstalowane na wielu dystrybucjach Linuxa.
sudo apt-get install mailutils
echo "Treść wiadomości" | mail -s "Temat wiadomości" [email protected]
Wysyłanie wiadomości z załącznikiem:
echo "Treść wiadomości" | mail -s "Temat wiadomości" -A /ścieżka/do/załącznika [email protected]
Jeśli mail nie dotarł do adresata (sprawdzamy koniecznie też foldery ze spamem), może to oznaczać, że nasz system nadawcy nie ma skonfigurowanego żadnego alternatywnego MTA (Mail Transfer Agent) w systemie update-alternatives. Sprawdzamy czy rzeczywiście tak jest poleceniem:
sudo update-alternatives --config mta
Jeśli otrzymujemy poniższą zwrotkę:

…oznacza to, że musimy zarejestrować Postfix jako domyślny MTA:
sudo update-alternatives --install /usr/sbin/mta mta /usr/sbin/postfix 100
Prawidłowa zwrotka:

Próba wysłania maila testowego w powyższy sposób na adres gmail zakończy się niepowodzeniem, ponieważ Gmail wymaga SPF lub DKIM (opis wdrożenia przedstawiony później w tym poradniku):

Edytujemy plik konfiguracyjny Postfix:
sudo nano /etc/postfix/main.cf
Dodajemy na jego końcu linię:
home_mailbox = Maildir/
Zamiast dopisywania w/w linijki, możemy odpalić polecenie:
sudo postconf -e 'home_mailbox = Maildir/'
Aby wdrożyć możliwość odczytu poczty przez imap/pop3 instalujemy Dovecot:
sudo apt-get update sudo apt-get install dovecot-core dovecot-imapd dovecot-pop3d
Po pomyślnej instalacji restartujemy usługę:
sudo systemctl restart dovecot
Konfigurujemy Dovecot poprzez edycję plików konfiguracyjnych:
sudo nano /etc/dovecot/dovecot.conf
Dopisujemy/edytujemy linię (litery „s” oznaczają obsługę połączeń SSL):
protocols = pop3 pop3s imap imaps
Możemy zweryfikować lokalnie działanie pop3 oraz pop3s komendami odpowiednio:
telnet localhost 110 openssl s_client -connect localhost:995
lub też sprawdzić działanie z zewnątrz, przy użyciu strony https://www.wormly.com/test-pop3-mail-server
W formularzu wpisujemy tam login i hasło konta utworzonego na początku poradnika oraz port 995 (testujemy pop3s – połączenie przez SSL). Powinniśmy otrzymać wynik:

Aby nasza poczta nie trafiała do spamu, konfigurujemy dodatkowe rekordy DNS.
Rekordy SPF oraz DMARC ustawiamy na sztywno (zamieniając „nazwa_hosta_pocztowego” oraz „ip_serwera_pocztowego” na odpowiednie wartości:
Typ rekordu (Type): TXT
Name: nazwa_hosta_pocztowego
Wartość: v=spf1 ip4:ip_serwera_pocztowego a mx ~all
lub
Wartość: v=spf1 mx include:_spf.google.com ip4:ip_serwera_pocztowego ~all
Typ rekordu (Type): TXT
Name: _dmarc
Wartość: v=DMARC1;p=quarantine;aspf=r;sp=none
Zawartość rekordu DKIM musi być skopiowana z informacji wygenerowanej przez pakiet instalowany na serwerze.
sudo apt install opendkim opendkim-tools
Dodajemy opendkim do usług uruchamianych wraz ze startem systemu:
sudo systemctl start opendkim sudo systemctl enable opendkim
Tworzymy katalog i generujemy klucz (zamieniając „nazwa_hosta_pocztowego” na odpowiednią wartość):
mkdir /etc/opendkim opendkim-genkey -D /etc/opendkim/keys/--domain nazwa_hosta_pocztowego --selector mail
We wskazanym folderze powinny pojawić się dwa pliki:

Kopiujemy część zawartości pliku .txt do rekordu DKIM w strefie DNS (usuwając też ze środka ” ” (apostrof spacja apostrof – screen przed usunięciem)).

Nadajemy uprawnienia do katalogu opendkim:
sudo chown -R opendkim:opendkim /etc/opendkim
Modyfikujemy plik konfiguracyjny opendkim.
sudo nano /etc/opendkim.conf
Należy dodać/odkomentować/zmodyfikować poniższe linie:
Autorestart yes AutorestartRate 10/1h LogWhy yes UMask 002 #Socket local:/run/opendkim/opendkim KeyTable refile:/etc/opendkim/KeyTable SigningTable refile:/etc/opendkim/SigningTable ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts SignatureAlgorithm rsa-sha256
Sprawdzamy poprawność działania DKIM na stronie https://dmarcian.com/dkim-inspector/
Na końcu ponownie sprawdzamy czy wysyłanie poczty działa:
/usr/bin/sendmail [email protected] From: [email protected] Subject: Test Testowa wiadomość
Do testowania przesyłki maili możemy także wykorzystać serwis https://www.mail-tester.com/
Naciskamy Ctrl+D i sprawdzamy czy poczta dotarła.
Bibilografia:
Aktualizacja:
Zdecydowanie prostszą i polecaną przeze mnie formą instalacji serwera mailowego jest Docker Mailserver
Kompleksowa obsługa SEO oraz SEM firmy konsultingowej, świadczącej usługi B2B....
Zobacz case studyProjekt content marketingowy dla polskiego producenta kosmetyków. Realizowałem go po...
Zobacz case studyOptymalizacja i pozycjonowanie sklepu opartego na Prestashop. Przygotowanie content planu...
Zobacz case studyOptymalizacja nowej strony internetowej oraz sklepu opartego na Prestashop. Przygotowanie...
Zobacz case studyPozycjonowanie lokalne i content marketing. Realizowałem projekt od strony SEO...
Zobacz case studyKoordynacja SEO wdrożenia nowej wersji serwisu internetowego sieci kilku placówek...
Zobacz case studyZwiększenie poziomu świadomości marki. Projekt realizowany od strony SEO jako...
Zobacz case studyZwiększenie poziomu świadomości marki. Projekt realizowany od strony SEO jako...
Zobacz case studyOpinie i rekomendacje otrzymane od innych specjalistów:







Realizowałem skuteczne działania e-marketingowe dla kilkudziesięciu marek. Niżej wybrane spośród nich:
Copyright 2022 © „ION” Michał Sławiński, NIP: 732-198-98-86, Regon: 100706412 | Logotypy wykorzystane jedynie w celach informacyjnych