wprowadzenie
Postfix jest popularnym open-source Mail Transfer Agent (MTA), który może być używany do trasy i dostarczania poczty w systemie Linux. Szacuje się, że około 25% publicznych serwerów pocztowych w Internecie uruchamia Postfixa.
w tym przewodniku nauczymy cię, jak szybko rozpocząć pracę z Postfixem na serwerze Ubuntu 16.04.
wymagania wstępne
aby postępować zgodnie z tym przewodnikiem, powinieneś mieć dostęp do użytkownika non-root z uprawnieniamisudo
. Możesz śledzić nasze Ubuntu 16.,04 początkowy Przewodnik Konfiguracji serwera, aby utworzyć niezbędnego użytkownika.
aby poprawnie skonfigurować Postfixa, będziesz potrzebował w pełni kwalifikowanej nazwy domeny wskazanej na Twoim serwerze Ubuntu 16.04. Możesz znaleźć pomoc w konfigurowaniu nazwy domeny za pomocą DigitalOcean, postępując zgodnie z tym przewodnikiem. Jeśli planujesz akceptować pocztę, musisz upewnić się, że masz rekord MX wskazujący na twój serwer pocztowy.
dla celów tego samouczka Zakładamy, że konfigurujesz host, który ma FQDN mail.example.com
.,
Krok 1: Zainstaluj Postfixa
Postfix jest zawarty w domyślnych repozytoriach Ubuntu, więc instalacja jest niezwykle prosta.
aby rozpocząć, zaktualizuj lokalnyapt
pamięć podręczną pakietu, a następnie zainstaluj oprogramowanie. Będziemy przekazywać zmienną środowiskową DEBIAN_PRIORITY=low
do naszego polecenia Instalacji, aby odpowiedzieć na dodatkowe monity:
- sudo apt-get update
- sudo DEBIAN_PRIORITY=low apt-get install postfix
użyj następujących informacji, aby poprawnie wypełnić monity dla Twojego środowiska:
- ogólny typ konfiguracji poczty?,: W tym celu wybierzemy stronę internetową, ponieważ odpowiada ona naszym potrzebom infrastrukturalnym.
- systemowa nazwa poczty: jest to podstawowa domena używana do konstruowania poprawnego adresu e-mail, gdy podana jest tylko część konta adresu. Na przykład, nazwa hosta naszego serwera to
mail.example.com
, ale prawdopodobnie chcemy ustawić systemową nazwę poczty naexample.com
tak, że biorąc pod uwagę nazwę użytkownikauser1
, Postfix użyje adresu.,
- odbiorca poczty Root i postmaster: jest to konto linuksowe, które zostanie przekierowane na adres
root@
Ipostmaster@
. Użyj swojego konta głównego w tym celu. W naszym przypadku, sammy. - Other destinations to accept mail for: określa miejsca docelowe poczty, które ta instancja Postfix będzie akceptować. Jeśli chcesz dodać inne domeny, za które ten serwer będzie odpowiedzialny, dodaj je tutaj, w przeciwnym razie domyślne powinno działać dobrze.
- wymusić synchroniczne aktualizacje w kolejce poczty?,: Ponieważ prawdopodobnie używasz systemu plików, Zaakceptuj No tutaj.
- sieci lokalne: jest to lista sieci, dla których serwer pocztowy jest skonfigurowany do przekazywania wiadomości. Wartość domyślna powinna działać w większości scenariuszy. Jeśli zdecydujesz się go zmodyfikować, upewnij się, że jest bardzo restrykcyjny w odniesieniu do zakresu sieci.
- limit rozmiaru skrzynki pocztowej: może być użyty do ograniczenia rozmiaru wiadomości. Ustawienie go na ” 0 ” wyłącza dowolne ograniczenie rozmiaru.,
- Local address extension character: jest to znak, który może być użyty do oddzielenia regularnej części adresu od rozszerzenia (używanego do tworzenia dynamicznych aliasów).
- używane protokoły internetowe: Wybierz, czy ograniczyć wersję IP obsługiwaną przez Postfix. Wybierzemy „wszystko” dla naszych celów.
aby być wyraźnym, są to ustawienia, których użyjemy w tym przewodniku:
Jeśli chcesz powrócić do tych ustawień, możesz to zrobić, wpisując:
- sudo dpkg-reconfigure postfix
Monity zostaną wstępnie wypełnione wcześniejszymi odpowiedziami.,
Kiedy skończysz, możemy teraz zrobić trochę więcej konfiguracji, aby skonfigurować nasz system tak, jak byśmy tego chcieli.
Krok 2: Dostosuj konfigurację Postfixa
następnie możemy dostosować niektóre ustawienia, o które Pakiet nas nie pytał.
na początek możemy ustawić skrzynkę pocztową. Użyjemy formatu Maildir, który dzieli wiadomości na pojedyncze pliki, które są następnie przenoszone między katalogami na podstawie akcji użytkownika. Inną opcją jest format mbox (którego nie będziemy omawiać tutaj), który przechowuje wszystkie wiadomości w jednym pliku.,
ustawimy zmiennąhome_mailbox
naMaildir/
, która utworzy strukturę katalogów pod tą nazwą w katalogu domowym użytkownika. Polecenie postconf
może być użyte do odpytywania lub ustawiania ustawień konfiguracyjnych. Konfiguracja home_mailbox
wpisując:
- sudo postconf -e 'home_mailbox= Maildir/'
następnie możemy ustawić lokalizację tabeli virtual_alias_maps
. Ta tabela mapuje dowolne konta e-mail na konta systemu Linux. Utworzymy tę tabelę pod adresem /etc/postfix/virtual
., Ponownie możemy użyćpostconf
polecenie:
- sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
Krok 3: Mapuj adresy pocztowe na konta linuksowe
następnie możemy skonfigurować plik map wirtualnych. Otwórz plik w edytorze tekstu:
- sudo nano /etc/postfix/virtual
tabela map wirtualnych aliasów używa bardzo prostego formatu. Po lewej stronie możesz wyświetlić listę adresów, na które chcesz zaakceptować e-mail. Następnie, oddzielone białymi spacjami, wprowadź użytkownika Linuksa, do którego ma zostać dostarczona wiadomość.,
na przykład, jeśli chcesz zaakceptować e-mail na adres I
I chcesz, aby te e-maile zostały dostarczone do
sammy
użytkownik Linuksa, możesz skonfigurować swój plik w następujący sposób:
[email protected] [email protected] sammy
po zmapowaniu wszystkich adresów na odpowiednie konta serwera Zapisz i zamknij plik.,
możemy zastosować mapowanie wpisując:
- sudo postmap /etc/postfix/virtual
zrestartuj proces Postfix, aby upewnić się, że wszystkie nasze zmiany zostały zastosowane:
- sudo systemctl restart postfix
Krok 4: Dostosuj zaporę
Jeśli używasz zapory UFW, skonfigurowanej w podręczniku konfiguracji serwera, będziemy musieli zezwolić na wyjątek dla postfixa.
możesz zezwolić na połączenia z usługą, wpisując:
- sudo ufw allow Postfix
komponent serwera Postfix jest zainstalowany i gotowy. Następnie utworzymy klienta, który będzie obsługiwał pocztę, którą Postfix będzie przetwarzał.,
Krok 5: Ustawienie środowiska tak, aby pasowało do lokalizacji poczty
zanim zainstalujemy klienta, powinniśmy upewnić się, że nasza zmienna środowiskowa MAIL
jest ustawiona poprawnie. Klient sprawdzi tę zmienną, aby dowiedzieć się, gdzie szukać poczty użytkownika.
w celu ustawienia zmiennej niezależnie od sposobu dostępu do konta (poprzez ssh
, su
, su -
, sudo
, itd.) musimy ustawić zmienną w kilku różnych miejscach., Dodamy go do /etc/bash.bashrc
I pliku w /etc/profile.d
, aby upewnić się, że każdy użytkownik ma to skonfigurowane.
aby dodać zmienną do tych plików, wpisz:
- echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
aby odczytać zmienną w bieżącej sesji, możesz pobrać /etc/profile.d/mail.sh
plik:
- source /etc/profile.d/mail.sh
Krok 6: Zainstaluj i skonfiguruj klienta poczty/h2>
w celu interakcji z dostarczaną pocztą, zainstalujemy pakiet s-nail
., Jest to wariant klienta BSD xmail
, który jest bogaty w funkcje, może poprawnie obsługiwać format Maildir i jest głównie kompatybilny wstecz. Wersja GNU mail
ma pewne frustrujące ograniczenia, takie jak zawsze zapisywanie odczytywanej poczty do formatu mbox niezależnie od formatu źródłowego.
aby zainstalować pakiet s-nail
, wpisz:
- sudo apt-get install s-nail
powinniśmy dostosować kilka ustawień., Otwórz plik /etc/s-nail.rc
w edytorze:
- sudo nano /etc/s-nail.rc
na dole pliku dodaj następujące opcje:
. . .set emptystartset folder=Maildirset record=+sent
pozwoli to klientowi otworzyć się nawet z pustą skrzynką odbiorczą. Spowoduje to również ustawienie katalogu Maildir
do wewnętrznej zmiennej folder
, a następnie utworzenie pliku mbox sent
do przechowywania wysłanej poczty.
Zapisz i zamknij plik po zakończeniu.,
Krok 7: Zainicjuj Maildir i przetestuj klienta
teraz możemy przetestować klienta.
Inicjalizacja struktury katalogów
najprostszym sposobem utworzenia struktury Maildir w naszym katalogu domowym jest wysłanie sobie wiadomości e-mail. Możemy to zrobić za pomocą polecenia mail
. Ponieważ pliksent
będzie dostępny tylko po utworzeniu Maildir, powinniśmy wyłączyć zapisywanie do niego dla naszej początkowej wiadomości e-mail. Możemy to zrobić poprzez podanie opcji -Snorecord
.,
wyślij e-mail wysyłając ciąg znaków na polecenie mail
. Dostosuj polecenie, aby oznaczyć użytkownika Linuksa jako odbiorcę:
- echo 'init' | mail -s 'init' -Snorecord sammy
powinieneś otrzymać następującą odpowiedź:
OutputCan't canonicalize "/home/sammy/Maildir"
jest to normalne i będzie widoczne tylko podczas tej pierwszej wiadomości., Możemy sprawdzić, czy katalog został utworzony, szukając naszego~/Maildir
katalogu:
- ls -R ~/Maildir
powinieneś zobaczyć strukturę katalogów i że nowy plik wiadomości znajduje się w~/Maildir/new
katalogu:
wygląda na to, że nasza poczta została dostarczona.,:
- h
Outputs-nail version v14.8.6. Type ? for help."/home/sammy/Maildir": 1 message 1 new>R 1 [email protected] Wed Dec 31 19:00 14/369 init
ponieważ ta wiadomość nie jest zbyt przydatna, możemy ją usunąć za pomocą d:
- d
Zakończ, aby wrócić do terminala, wpisując q:
- q
wysyłanie poczty z klientem
możesz przetestować wysyłanie poczty, wpisując wiadomość w edytorze tekstu:
- nano ~/test_message
w środku wpisz tekst, który chcesz wysłać:
Hello,This is a test. Please confirm receipt!
używając cat
polecenie, możemy przesłać wiadomość do procesu mail
., Spowoduje to domyślnie wysłanie wiadomości jako użytkownika Linuksa. Możesz dostosować pole „From” za pomocą znacznika -r
jeśli chcesz zmienić tę wartość na coś innego:
- cat ~/test_message | mail -s 'Test email subject line' -r from_field_account [email protected]
powyższe opcje to:
-
-s
: temat wiadomości e-mail -
-r
: opcjonalna zmiana pola „From:” w wiadomości e-mail. Domyślnie, użytkownik Linuksa, którego jesteś zalogowany, zostanie użyty do wypełnienia tego pola. Opcja-r
pozwala to nadpisać., -
: konto, na które należy wysłać e-mail. Zmień to na prawidłowe konto, do którego masz dostęp.
Możesz przeglądać wysyłane wiadomości w swoimmail
kliencie. Uruchom ponownie interaktywnego klienta, wpisując:
- mail
następnie Wyświetl wysłane wiadomości, wpisując:
- file +sent
możesz zarządzać wysłaną pocztą za pomocą tych samych poleceń, których używasz dla poczty przychodzącej.
podsumowanie
powinieneś teraz mieć skonfigurowany Postfix na serwerze Ubuntu 16.04., Zarządzanie serwerami poczty e-mail może być trudnym zadaniem dla początkujących administratorów, ale dzięki tej konfiguracji powinieneś mieć podstawową funkcjonalność poczty e-mail MTA, aby zacząć.
Dodaj komentarz