Powrót do bloga

Instalacja i konfiguracja Postfix jako serwera SMTP tylko do wysyłania na Ubuntu 20.04

Instalacja i konfiguracja Postfix jako serwera SMTP tylko do wysyłania na Ubuntu 20.04

Postfix to popularne darmowe oprogramowanie o otwartym kodzie źródłowym, które działa jako agent transferu poczty (MTA). Zadaniem Postfix jest rutowanie i dostarczanie wiadomości e-mail. Oprócz klasycznego zastosowania, Postfix można również skonfigurować tak, aby wysyłał wiadomości e-mail wyłącznie z lokalnych aplikacji.

Takie zastosowanie Postfix to przydatna sztuczka do wdrożenia w różnych sytuacjach. Na przykład może być używane do regularnego wysyłania powiadomień e-mail, współpracy z zewnętrznym dostawcą usług pocztowych o ograniczonym ruchu wychodzącym itp. W porównaniu z dowolnym pełnoprawnym SMTP serwerem, Postfix jest lżejszą alternatywą, która jednocześnie zachowuje niezbędne funkcjonalności.

W tym poradniku dowiesz się, jak zainstalować i skonfigurować Postfix jako serwer SMTP tylko do wysyłania na systemie Ubuntu.

Wymagania wstępne

Aby móc postępować zgodnie z tym przewodnikiem, musisz spełnić następujące wymagania wstępne:

Instalacja Postfix

Po spełnieniu warunków wstępnych serwer jest gotowy do wdrożenia Postfix. Najprostszym sposobem instalacji Postfix jest zainstalowanie pakietu mailutils . Jest on bezpośrednio dostępny w oficjalnych repozytoriach Ubuntu.

Najpierw uruchom terminal i zaktualizuj APT bazę danych pakietów:

Package Update

Następnie możesz zainstalować Postfix:

Install MailUtils

Podczas procesu instalacji pojawi się następujące okno konfiguracji. Domyślną opcją jest Internet Site. Aby potwierdzić wybór, naciśnij TAB , aby przenieść kursor do następnej sekcji. Następnie naciśnij Enter:

Mail Server Config

W następnym kroku zostaniesz poproszony o podanie systemowej nazwy poczty (System mail name). Będzie to nazwa przypisana do serwera w momencie jego tworzenia. Jak opisano w skrypcie, jeśli adres e-mail dla lokalnego hosta to „foo@example.org”, wówczas systemową nazwą poczty będzie example.org:

Mail Name Config

Pamiętaj, że skrypt konfiguracyjny można również uruchomić w dowolnym momencie później za pomocą następującego polecenia:

Konfiguracja Postfix

W tym kroku Postfix zostanie skonfigurowany do wysyłania i odbierania wiadomości e-mail wyłącznie z localhost. Wymaga to, aby Postfix nasłuchiwał na interfejsie loopback. Jest to wirtualny interfejs sieciowy, którego serwer używa do komunikacji wewnętrznej. Następnie otwórz plik konfiguracyjny Postfix za pomocą wybranego edytora tekstu:

Zmień wartość inet_interface na loopback-only:

Inet Interface

Inną dyrektywą, którą musisz zmienić, jest mydestination. Definiuje ona listę domen, które są dostarczane za pośrednictwem transportu local_transport dostarczania poczty. Domyślna wartość będzie wyglądać mniej więcej tak:

Mydestination Old

Zmień jej wartość na następującą:

Mydestination

W przypadku, gdy Twoja domena jest w rzeczywistości subdomeną i chcesz, aby wiadomości e-mail wyglądały na wysłane z domeny głównej, dodaj następującą dyrektywę na końcu konfiguracji Postfix. Usunie ona subdomenę z adresu e-mail:

Postfix Masquerade Domains

Aby zmiany weszły w życie, zrestartuj Postfix:

restart_postfix

Testowanie serwera SMTP

Zakładając, że proces konfiguracji przebiegł pomyślnie, czas go przetestować. Aby to zrobić, sprawdź, czy Postfix może wysłać wiadomość e-mail na zewnętrzne konto e-mail za pomocą polecenia mail . Jest ono częścią pakietu mailutils :

Wiadomość powinna dotrzeć na podany adres e-mail. W tym momencie wszystkie wysyłane wiadomości e-mail są niezaszyfrowane. Dostawcy usług zazwyczaj oznaczają takie wiadomości jako spam, więc upewnij się, że sprawdziłeś folder ze spamem.

Jeśli mail zgłosi błąd lub wiadomość e-mail nie dotrze po dłuższym czasie, sprawdź ponownie konfigurację Postfixa i upewnij się, że nazwa serwera i nazwa hosta są ustawione poprawnie. Przy tej konfiguracji wiadomości e-mail będą wyglądać na wysłane z następującego adresu:

W tym miejscu nazwą użytkownika będzie nazwa użytkownika serwera, który uruchomił polecenie mail.

Przekazywanie poczty systemowej

Pomyślnie zweryfikowaliśmy, że serwer pocztowy jest poprawnie skonfigurowany i działa. Teraz należy go skonfigurować tak, aby przekazywał wiadomości e-mail dla użytkownika root. Wszystkie generowane przez system wiadomości wysyłane na serwer będą przekazywane na zewnętrzny adres e-mail. W przypadku odbiorców wiadomości e-mail, plik /etc/aliases zawiera listę alternatywnych nazw. Otwórz go za pomocą wybranego edytora tekstu:

Domyślnie będzie to wyglądać tak:

Postfix Aliases

Na końcu pliku dodaj następującą linię:

Postfix Newaliases

Informuje to, że wiadomości e-mail wysyłane do root będą przekazywane na adres e-mail. Aby zmiany weszły w życie, uruchom następujące polecenie. Odbuduje ono bazę danych aliasów, z której korzysta polecenie mail :

sudo newaliases

Następnie musisz przetestować, czy zmiana się powiodła. Wyślij testową wiadomość e-mail do root:

Wiadomość e-mail powinna dotrzeć na podany adres e-mail. Nie zapomnij sprawdzić folderu ze spamem, ponieważ nie skonfigurowano jeszcze szyfrowania.

Włączanie szyfrowania SMTP

Wysyłanie wiadomości e-mail w niezaszyfrowanym formacie jest ryzykownym krokiem. Aby zapewnić bezpieczeństwo, wymagane jest włączenie szyfrowania SMTP. Aby to osiągnąć, poprosimy o bezpłatny certyfikat TLS od Let’s Encrypt dla Twojej domeny.

W przypadku systemu Ubuntu to narzędzie Certbot wykonuje to zadanie. Na szczęście jest ono bezpośrednio dostępne w oficjalnym repozytorium Ubuntu. Zainstaluj Certbota za pomocą następującego polecenia:

Postfix Install certbot

Zakładając, że serwer ma skonfigurowany UFW, konieczne jest, aby port 80 był otwarty, aby mogła nastąpić weryfikacja domeny. Uruchom następujące polecenie, aby go włączyć:

ufw allow Postfix

Teraz uruchom Certbota, aby wygenerować certyfikat. Nakazuje to Certbotowi wydanie certyfikatów z 4096-bitowym kluczem RSA. Weryfikacja odbędzie się za pośrednictwem portu 80 (HTTP):

Dane wyjściowe będą wyglądać mniej więcej tak:

Klucz zostanie zapisany w następującym katalogu:

Po wygenerowaniu certyfikatu otwórz plik konfiguracyjny Postfix w edytorze tekstu:

Znajdź sekcję TLS parametry:

Postfix tls conf old

Następnie zmień wartość dyrektyw smtpd_tls_cert_file oraz smtpd_tls_key_file:

Postfix tls conf

Następnie zapisz i zamknij plik. Aby zmiany weszły w życie, zrestartuj Postfix:

Na koniec wyślij ponownie testową wiadomość e-mail na docelowy adres e-mail:

Wiadomość e-mail powinna teraz pojawić się normalnie, tak jak inne wiadomości. Jeśli sprawdzisz informacje techniczne wiadomości e-mail, będzie ona widoczna jako zaszyfrowana.

Podsumowanie

Gratulacje! Pomyślnie skonfigurowałeś serwer pocztowy tylko do wysyłania, oparty na Postfixie. Transakcje e-mail są również bezpieczne dzięki zastosowaniu odpowiedniego klucza szyfrującego.

Więcej sposobów na optymalizację przesyłania wiadomości e-mail znajdziesz w tym poradniku Najlepsze sposoby korzystania z serwera SMTP Google.

Udanego korzystania!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.