Postfix. Przewodnik encyklopedyczny



Podobne dokumenty
Skrócony podręcznik dla partnerów

Sieci komputerowe i bazy danych

Mediatel 4B Sp. z o.o., ul. Bitwy Warszawskiej 1920 r. 7A, Warszawa,

Klient poczty elektronicznej - Thunderbird

Konfiguracja programu pocztowego dla kont w domenie spcsk.pl

SMTP co to takiego? SMTP Simple Mail Transfer Protocol (Protokół Prostego Przesyłania Poczty) RFC 2821

Serwer poczty Postfix. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

ZAKŁADANIE POCZTY ELEKTRONICZNEJ - na przykładzie serwisu

Poniżej znajduje się instrukcja konfiguracji najpopularniejszych programów do obsługi poczty.

Konfiguracja programu MS Outlook 2007 dla poczty w hostingu Sprint Data Center

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

Instrukcja konfiguracji funkcji skanowania

Pomoc dla r.

Konfiguracja konta pocztowego w Thunderbird

Lab5 - Badanie protokołów pocztowych

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Konfiguracja poczty IMO w programach Microsoft Outlook oraz Mozilla Thunderbird

The Bat! Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE

Internetowy serwis Era mail Aplikacja sieci Web

P³atnik. Przewodnik IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG ONLINE

Instalacja Active Directory w Windows Server 2003

Bezpieczny system poczty elektronicznej

INSTRUKCJE UŻYTKOWNIKÓW

POSTFIX (SMTP) + POP3 + SSL. Użycie certyfikatów niekwalifikowanych w oprogramowaniu POSTFIX. wersja 1.4

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Pełna specyfikacja pakietów Mail Cloud

Instrukcja konfiguracji programu Microsoft Outlook do współpracy z serwerami hostingowymi obsługiwanymi przez Ideo

Instrukcja obsługi certyfikatów w programie pocztowym MS Outlook Express 5.x/6.x

Pełna specyfikacja pakietów Mail Cloud

1 IMAP czy POP3? 2 Instalacja programu Mozilla Thunderbird

Instrukcja instalacji usługi Sygnity Service

Bezpieczeństwo poczty elektronicznej

Manual konfiguracji konta dla fax2mail

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

Procedura konfiguracji programu Outlook 2003 z wykorzystaniem

Manual konfiguracji konta dla fax2mail

3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S FAX SYSTEM

Systemy Wymiany Informacji

MODEL WARSTWOWY PROTOKOŁY TCP/IP

KONFIGURACJA KONTA POCZTOWEGO DO POBRANIA WIADOMOŚCI Z OBECNEGO SERWERA POCZTOWEGO. Zespół Systemów Sieciowych

OmniTouch 8400 Instant Communications Suite Integracja z programem Microsoft Outlook

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

1 Moduł Konfigurowanie Modułu

Podręcznik użytkownika

Procedura konfiguracji programu Outlook Express z wykorzystaniem protokołu POP3

Spis treści: Wstęp. xiii

Sieci komputerowe. Wstęp

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

Konfiguracja imiennej skrzynki pocztowej Komornika Sądowego

Przykładowa konfiguracja konta pocztowego w programie Outlook Express z wykorzystaniem MKS 2k7 (MS Windows 2000 Proessional)

Instrukcja obsługi Outlook Web App i konfiguracji Thunderbird

Wiadomości. ZPKSoft Doradca. Wstęp.

Tworzenie i obsługa wirtualnego laboratorium komputerowego

System zdalnego dostępu (VPN) do sieci Wydziału Elektrycznego PW

Dokumentacja Użytkownika Systemu. Konfiguracja konta

Instrukcja aktywacji tokena w usłudze BPTP

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Pełna specyfikacja pakietów Mail Cloud

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Microsoft Exchange Server 2013

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ

Zdalne logowanie do serwerów

4. Podstawowa konfiguracja

Lekcja 8, 9 i 10. Konspekt lekcji Poczta elektroniczna. Materiał z podręcznika: Rozdział 5. Poczta elektroniczna

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Konfiguracja serwerów pocztowych na platformie Tradoro.pl

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Problemy z bezpieczeństwem w sieci lokalnej

Pakiet informacyjny dla nowych użytkowników usługi Multimedia Internet świadczonej przez Multimedia Polska S.A. z siedzibą w Gdyni

Krótka instrukcja instalacji

Panel administracyjny serwera: admin.itl.pl

Zarządzanie korespondencją

Poczta elektroniczna na urządzeniu mobilnym - Outlook

SERWERY WIRTUALNE Stabilność, szybkość i bezpieczeństwo danych...

System IVR. Opis elementów systemu

Kaspersky Hosted Security

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

Podręcznik instalacji i konfiguracji aplikacji 7 Office Ship Control dla Microsoft Office 2007 i Siódemka S.A. Warszawa, dnia r.

Profil pracy wariant konfiguracji programu obejmujący m.in język, walutę, konto allegro, szablon aukcji, zdefiniowane koszty wysyłki itp.

Instrukcja użytkownika. Aplikacja dla WF-Mag

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

INSTRUKCJA OBSŁUGI KLIENTA POCZTY WWW

revati.pl Drukarnia internetowa Szybki kontakt z klientem Obs³uga zapytañ ofertowych rozwi¹zania dla poligrafii Na 100% procent wiêcej klientów

Laboratorium Ericsson HIS NAE SR-16

O D P O W I E D ZI na zapytania w sprawie SIWZ cz II

MySQL. Æwiczenia praktyczne

Windows Server 2012 Hyper-V Replica.

Manual konfiguracji konta dla fax2mail

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp

SPECYFIKACJA USŁUG HOSTINGOWYCH

Pomoc systemu poczty elektronicznej Wydziału Humanistycznego Uniwersytetu Szczecińskiego. Wersja: 1.12

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Przewodnik zdalnej instalacji

System obsługi ubezpieczeń FORT

1. Wprowadzenie... 13

Manual konfiguracji konta dla fax2mail opcji BP Basic oraz BP Fiber

Transkrypt:

IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWO CIACH ZAMÓW CENNIK CZYTELNIA SPIS TRE CI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE Postfix. Przewodnik encyklopedyczny Autor: Kyle D. Dent T³umaczenie: Adam Jarczyk ISBN: 83-7361-668-3 Tytu³ orygina³u: Postfix. The Definitive Guide Format: B5, stron: 248 Postfix to agent przesy³ania poczty (MTA) oprogramowanie, którego serwery pocztowe u ywaj¹ do kierowania poczty elektronicznej. Jego twórc¹ jest znany ekspert w dziedzinie bezpieczeñstwa Wietse Venema. Postfix jest wysoce ceniony przez ekspertów za bezpieczn¹ strukturê i olbrzymi¹ niezawodno æ. Administratorzy ceni¹ go za prostotê konfiguracji. Z tego w³a nie powodu Postfix zosta³ przyjêty jako domy lny MTA w systemie Mac OS X. Podstawowa konfiguracja Postfiksa jest prosta, lecz dostosowanie go do indywidualnych potrzeb okre lonej domeny wymaga wiêkszego nak³adu pracy. Postfix. Przewodnik encyklopedyczny to doskona³y przewodnik dla administratorów serwerów pocztowych, u³atwiaj¹cy przej cie od podstawowej konfiguracji do wykorzystania pe³nych mo liwo ci Postfiksa. Opisuje sposoby skonfigurowania Postfiksa oraz po³¹czenia go z narzêdziami POP, IMAP, LDAP, MySQL, SASL i TSL (zmodernizowana wersja SSL), które tworz¹ wraz z nim w pe³ni skalowalny i bardzo bezpieczny system poczty elektronicznej. Ksi¹ ka zawiera te zestawienie parametrów konfiguracyjnych Postfiksa i szczegó³owy opis instalacji. Ka de przyk³ad zawiera omówienie, rozwi¹zanie i komentarz, co u³atwia wykorzystanie kodu do w³asnych potrzeb, czêsto ró ni¹cych siê od opisywanych w ksi¹ ce. Rola Postfiksa w systemie poczty elektronicznej Dzia³anie poczty elektronicznej Komponenty Postfiksa Podstawowa konfiguracja Administrowanie Postfiksem Zarz¹dzanie kolejkami Protoko³y POP, IMAP i LMTP Obs³uga wielu domen Listy wysy³kowe Zabezpieczenia przed spamem Uwierzytelnianie i blokowanie tre ci Wspó³praca z systemami baz danych Postfix. Przewodnik encyklopedyczny to doskona³a pomoc dla wszystkich administratorów serwerów poczty elektronicznej, którzy chc¹ skonfigurowaæ Postfiksa bez przeszukiwania tysiêcy stron dokumentacji.

Spis treści Przedmowa... 7 Wstęp... 9 Rozdział 1. Wprowadzenie...13 Pochodzenie i filozofia Postfiksa 13 Poczta elektroniczna i Internet 14 Rola Postfiksa 17 Postfix i bezpieczeństwo 18 Informacje dodatkowe i źródła Postfiksa 19 Rozdział 2. Wymogi......21 Unix 21 Poczta elektroniczna 23 Rozdział 3. Architektura Postfiksa... 29 Komponenty Postfiksa 29 Jak wiadomości wchodzą do systemu Postfix? 30 Kolejki 32 Doręczanie poczty 32 Trasa wiadomości przez Postfix 34 Rozdział 4. Podstawy konfiguracji i administracji... 39 Pierwsze uruchomienie Postfiksa 40 Pliki konfiguracyjne 41 Ważne punkty konfiguracji 51 Administracja 54 master.cf 57 Limity odbieranych wiadomości 60 Przekształcanie adresów 61 chroot 64 Dokumentacja 66 3

Rozdział 5. Zarządzanie kolejkami... 67 Sposób działania qmgr 67 Narzędzia kolejek 70 Rozdział 6. Email i DNS......77 DNS wprowadzenie 77 Kierowanie poczty 78 Postfix i DNS 81 Typowe problemy 83 Rozdział 7. Doręczanie lokalne i POP/IMAP... 85 Transporty doręczające w systemie Postfix 85 Formaty magazynów wiadomości 86 Doręczanie lokalne 88 POP i IMAP 90 Protokół LMTP 92 Rozdział 8. Obsługa wielu domen... 97 Domeny wspólne z kontami systemowymi 98 Domeny odrębne z kontami systemowymi 98 Domeny odrębne z kontami wirtualnymi 99 Osobny magazyn wiadomości 102 Doręczanie do poleceń 103 Rozdział 9. Przekazywanie poczty... 109 Zapasowe serwery MX 109 Tablice transportów 112 Brama dla poczty wchodzącej 115 Przekaźnik poczty wychodzącej 116 Doręczanie do UUCP, faksu itp. 117 Rozdział 10. Listy wysyłkowe... 119 Proste listy wysyłkowe 119 Programy zarządzające listami wysyłkowymi 123 Rozdział 11. Blokowanie spamu... 131 Natura spamu 131 Problem spamu 132 Otwarte przekaźniki 132 Wykrywanie spamu 133 Działania antyspamowe 135 Konfiguracja Postfiksa 136 4 Spis treści

Reguły wykrywania klientów 136 Ścisłe ograniczenia składni 147 Kontrola zawartości 148 Własne klasy ograniczeń 151 Przykład konfiguracji antyspamowej Postfiksa 152 Rozdział 12. Uwierzytelnianie SASL...155 SASL wprowadzenie 156 Postfix i SASL 158 Konfiguracja Postfiksa dla SASL 158 Testowanie konfiguracji uwierzytelniania 163 Uwierzytelnianie klienta SMTP 165 Rozdział 13. Transport Layer Security...167 Postfix i TLS 167 Certyfikaty TLS 169 Rozdział 14. Filtrowanie treści... 177 Filtrowanie przez polecenia 178 Filtrowanie oparte na demonach 180 Inne uwagi 184 Rozdział 15. Zewnętrzne bazy danych... 185 MySQL 186 LDAP 191 Dodatek A Parametry konfiguracyjne...195 Dodatek B Polecenia Postfiksa...219 Dodatek C Kompilacja i instalacja Postfiksa...221 Dodatek D Najczęściej zadawane pytania... 233 Skorowidz... 237 Spis treści 5

ROZDZIAŁ 3. Architektura Postfiksa Postfix jest łatwy w zarządzaniu i eksploatacji bez konieczności dogłębnego zrozumienia, jak wszystko w nim działa. Czytelnicy, którzy chcą się od razu zabrać do dzieła, mogą pominąć ten rozdział i przejść prosto do następnego. Przetrawienie całego przedstawionego tu materiału może być trudne, jeśli ktoś nie ma jeszcze doświadczenia z Postfiksem, lecz bieżący rozdział zawiera przegląd różnych jego elementów, co może przydać się przy zaczynaniu pracy z tym programem. Później, po nabraniu większego doświadczenia w pracy z tym programem, Czytelnik będzie mógł wrócić do tego rozdziału, aby przyswoić sobie więcej szczegółów. Komponenty Postfiksa Architektura Postfiksa różni się znacząco od monolitycznych systemów, takich jak sendmail, który tradycyjnie używa jednego dużego programu do obsługi wiadomości pocztowych. Postfix dzieli zadania na odrębne funkcje, stosując osobne programy do wykonywania jednego konkretnego zadania. Większość z tych programów stanowią demony procesy działające w systemie w tle. Najpierw uruchamiany jest główny demon master, który w miarę potrzeb wywołuje większość innych procesów. Demony Postfiksa wywoływane przez master przetwarzają przydzielone im zadania i kończą działanie. Mogą też zakończyć pracę po upłynięciu określonego czasu lub po obsłużeniu ustalonej maksymalnej liczby żądań. Demon master jest obecny (rezydentny) cały czas i pobiera swoje dane konfiguracyjne z plików main.cf i master.cf. Pliki konfiguracyjne Postfiksa omawia rozdział 4. Rysunek 3.1 przedstawia ogólny schemat architektury Postfiksa. Krótko mówiąc, Postfix odbiera wiadomości, kolejkuje je i w końcu doręcza. Każdym etapem procesu zajmuje się odrębny zbiór komponentów Postfiksa. Po odebraniu wiadomości i umieszczeniu jej w kolejce menedżer kolejki wywołuje odpowiedniego agenta doręczającego w celu ostatecznego dostarczenia wiadomości. Następne punkty rozdziału opisują szczegóły każdego z etapów. Rysunek 3.1. Ogólna architektura systemu Postfix 29

Jak wiadomości wchodzą do systemu Postfix? Wiadomość wchodzi do Postfiksa na jeden z czterech sposobów: 1. Wiadomość może zostać przyjęta przez Postfix lokalnie (wysłana przez użytkownika w tym samym komputerze). 2. Wiadomość może zostać przyjęta poprzez sieć. 3. Wiadomość, którą Postfix przyjął już przez jedną z innych metod, zostaje ponownie zgłoszona do przekazania dalej pod inny adres. 4. Postfix sam generuje wiadomości, gdy musi wysłać powiadomienia o nieudanych lub odłożonych próbach doręczenia wiadomości. Zawsze istnieje możliwość, że wiadomość zostanie odrzucona przed wejściem do systemu Postfix, lub że część wiadomości zostanie wstrzymanych do doręczenia później. Lokalne zgłaszanie wiadomości Poszczególne składniki Postfiksa współpracują ze sobą przez zapisywanie wiadomości do kolejki i odczytywanie ich z kolejki. Menedżer kolejek jest odpowiedzialny za zarządzanie wiadomościami w kolejce i powiadamianie właściwego komponentu, że ma zadanie do wykonania. Rysunek 3.2 ilustruje przepływ, gdy lokalna wiadomość email wchodzi do systemu Postfix. Lokalne wiadomości są zapisywane do katalogu maildrop kolejki Postfiksa poleceniem postdrop, zwykle poprzez program dopasowujący sendmail. Demon pickup odczytuje wiadomość z kolejki i wprowadza ją do demona cleanup. Niektóre wiadomości przychodzą bez kompletu nagłówków wymaganych w poprawnej wiadomości email. Wobec tego poza kontrolą poprawności logicznej wiadomości demon cleanup, w połączeniu z demonem trivial-rewrite, wstawia brakujące nagłówki wiadomości, przekształca adresy na format użytkownik@domena.tld, którego oczekują inne programy Postfiksa, oraz ewentualnie dokonuje translacji adresów na podstawie tablic wyszukiwań adresów kanonicznych lub wirtualnych (więcej informacji o tablicach wyszukiwań zawiera rozdział 4.). Rysunek 3.2. Lokalne zgłaszanie wiadomości 30 Rozdział 3. Architektura Postfiksa

Demon cleanup przetwarza całość przychodzącej poczty i powiadamia menedżera kolejek, gdy już umieści oczyszczoną wiadomość w kolejce wejściowej. Menedżer kolejek wywołuje wtedy odpowiedniego agenta doręczającego, aby wysłać wiadomość w następne miejsce na trasie do ostatecznego celu. Poczta z sieci Rysunek 3.3 ilustruje sytuację, gdy wiadomość email z sieci wchodzi do systemu Postfix. Wiadomości odebrane przez sieć są przyjmowane przez demona Postfiksa smtpd. Demon ten przeprowadza kontrolę poprawności logicznej i może być skonfigurowany tak, że będzie pozwalał klientom przekazywać pocztę lub nie. Demon smtpd przekazuje wiadomość do demona cleanup, który przeprowadza własne kontrole i zapisuje wiadomość w kolejce wejściowej. Następnie menedżer kolejek wywołuje odpowiedniego agenta doręczającego w celu wysłania wiadomości w następne miejsce na trasie do celu. Rysunek 3.3. Poczta z sieci Powiadomienia o poczcie Gdy wiadomość użytkownika jest odroczona lub nie może zostać doręczona, Postfix używa demona defer lub bounce do utworzenia nowej wiadomości o błędzie. Wiadomość ta zostaje przekazana do demona cleanup, który przeprowadza standardową kontrolę przed wstawieniem wiadomości o błędzie do kolejki wejściowej, gdzie przejmuje ją menedżer kolejki. Przekazywanie dalej poczty Czasami po przetworzeniu wiadomości email Postfix ustala, że adres docelowy w rzeczywistości wskazuje na inny adres w innym systemie. W tym momencie program mógłby po prostu przekazać wiadomość do klienta SMTP w celu bezpośredniego doręczenia, lecz aby zagwarantować, że każdy odbiorca będzie poprawnie przetworzony i zarejestrowany, Postfix zgłasza ją jako nową wiadomość, która jest obsługiwana jak każda inna lokalnie zgłoszona wiadomość. Jak wiadomości wchodzą do systemu Postfix? 31

Kolejki Menedżer kolejek w Postfiksie wykonuje większość pracy z przetwarzaniem wiadomości email. Ostatecznym zadaniem komponentów Postfiksa przyjmujących pocztę jest przekazanie wiadomości do menedżera kolejek. Służy do tego demon cleanup, który powiadamia menedżera kolejek o umieszczeniu nowej wiadomości w wejściowej kolejce wiadomości. Po otrzymaniu nowej wiadomości menedżer kolejek używa trivial-rewrite do ustalenia informacji o trasie: metody transportowej, która ma zostać użyta, następnego hosta, gdzie ma zostać doręczona, oraz adresu odbiorcy. Menedżer kolejek utrzymuje cztery różne kolejki: wejściową (incoming), aktywną (active), wiadomości odroczonych (deferred) i uszkodzonych (corrupt). Po początkowym procesie oczyszczania kolejka wejściowa jest pierwszym przystankiem dla nowych wiadomości. Jeśli zasoby systemu są dostępne, menedżer przenosi ją do kolejki aktywnej i wywołuje jeden z agentów doręczających. Wiadomości, których nie można doręczyć, są przenoszone do kolejki wiadomości odroczonych. Menedżer kolejek jest też odpowiedzialny za generowanie, współpracując z demonami bounce i defer, raportów o stanie doręczenia wiadomości sprawiających problemy. Powiadomienia takie są odsyłane do nadawcy, do administratora systemu lub do obu. Oprócz katalogów kolejek wiadomości katalog kolejki Postfiksa zawiera katalogi bounce i defer służące do przechowywania informacji o stanie wiadomości wskazujących, dlaczego konkretna wiadomość jest opóźniona lub niedoręczalna. Demony bounce i defer używają informacji zapisanych w tych katalogach do generowania swoich powiadomień. Rozdział 5. zawiera bardziej szczegółowe informacje o funkcjonowaniu menedżera kolejek. Doręczanie poczty Postfix do ustalania, dla których adresów docelowych może przyjmować wiadomości i w jaki sposób ma się odbyć doręczenie, wykorzystuje koncepcję klas adresów. Główne klasy adresów to local (lokalny), virtual alias (alias wirtualny), virtual mailbox (wirtualna skrzynka pocztowa) i relay (przekazanie). Pod adresy docelowe niezaliczające się do żadnej z tych klas wiadomości są doręczane poprzez sieć za pomocą klienta SMTP (zakładając, że wiadomość została odebrana przez autoryzowanego klienta). W zależności od klasy adresu menedżer kolejek wywołuje odpowiedniego agenta doręczającego do obsłużenia wiadomości. Doręczanie lokalne Agent doręczający local obsługuje pocztę przeznaczoną dla użytkowników z kontami powłokowymi w systemie, w którym Postfix jest uruchomiony. Nazwy domen dla doręczania lokalnego zawiera parametr mydestination. Wiadomości wysyłane do użytkownika w dowolnej z domen wymienionych w mydestination doręczane są bezpośrednio do konta powłokowego tego użytkownika. W najprostszym przypadku agent doręczający local zapisuje wiadomość email w lokalnym magazynie wiadomości. Kontroluje też aliasy i pliki.forward użytkowników, aby sprawdzić, czy lokalne wiadomości powinny zostać doręczone gdzieś indziej. Doręczanie lokalne zostało opisane bardziej szczegółowo w rozdziale 7. 32 Rozdział 3. Architektura Postfiksa

Gdy wiadomość ma zostać doręczona w inne miejsce, zostaje ponownie zgłoszona do Postfiksa w celu doręczenia pod nowy adres. Jeśli występują tymczasowe problemy w doręczeniu wiadomości, agent doręczający powiadamia menedżera kolejek, aby ten oznaczył wiadomość jako przeznaczoną do doręczenia później i zapisał ją w kolejce wiadomości odroczonych. Trwałe problemy powodują odbicie wiadomości przez menedżera kolejek z powrotem do pierwotnego nadawcy. Wiadomości dla adresów wirtualnych Wszystkie wiadomości dla aliasów wirtualnych są przekazywane dalej pod inne adresy. Nazwy domen aliasów wirtualnych wymienione są w parametrze virtual_alias_domains. Każda domena ma własny zbiór użytkowników, którzy nie muszą być unikatowi we wszystkich domenach. Użytkownicy i ich prawdziwe adresy są wymienione w tablicach wyszukiwań wymienionych w parametrze virtual_alias_maps. Wiadomości odebrane dla wirtualnych aliasów są ponownie zgłaszane do doręczenia pod rzeczywiste adresy. Więcej informacji na temat aliasów wirtualnych zawiera rozdział 8. Wiadomości dla wirtualnych skrzynek pocztowych Agent doręczający virtual obsługuje pocztę skierowaną pod adresy wirtualnych skrzynek pocztowych. Takie skrzynki pocztowe nie są kojarzone z konkretnymi kontami powłokowymi w systemie. Nazwy domen dla wirtualnych skrzynek pocztowych zawiera parametr virtual_mailbox_domains. Każda domena ma własny zbiór użytkowników, którzy nie muszą być unikatowi we wszystkich domenach. Użytkownicy i ich pliki skrzynek pocztowych są wymienione w tablicach wyszukiwań podanych w parametrze virtual_mailbox_maps. Więcej informacji na temat wirtualnych skrzynek pocztowych zawiera rozdział 8. Przekazywanie wiadomości Agent doręczający smtp obsługuje pocztę dla domen przekazywania. Adresy email w domenach przekazywania mieszczą się w innych systemach, lecz Postfix przyjmuje wiadomości dla takich domen i przekazuje je do właściwych systemów. Konfigurację przekaźników spotyka się powszechnie w miejscach, gdzie Postfix przyjmuje pocztę przez Internet i przekazuje ją do systemów w wewnętrznej sieci. Nazwy domen przekazywania wymienia parametr relay_domains. Dodatkowe informacje na temat przekazywania zawiera rozdział 9. Inne wiadomości Wiadomości niepasujące do żadnej z powyższych klas adresów przeznaczone są zasadniczo dla innych domen, mieszczących się gdzieś indziej w sieci. Postfix przyjmuje takie wiadomości tylko od autoryzowanych klientów, na przykład zainstalowanych w tej samej sieci lokalnej. Gdy wiadomość trzeba doręczyć poprzez sieć, menedżer kolejek wywołuje agenta doręczającego smtp. Ten ustala, który host lub które hosty mogą odebrać wiadomość i nawiązuje kolejno połączenie z każdym z nich, dopóki nie znajdzie hosta, który przyjmie wiadomość. Jeśli występują tymczasowe problemy z doręczeniem wiadomości, agent smtp powiadamia menedżera kolejek, że wiadomość powinna zostać oznaczona do doręczenia później i zapisana w kolejce wiadomości odroczonych. Trwałe problemy mogą spowodować odbicie wiadomości z powrotem do nadawcy. Doręczanie poczty 33

Gdy system docelowy, który był niedostępny, wraca online, Postfix stara się nie przytłoczyć go wszystkimi oczekującymi wiadomościami. Przy doręczaniu wiadomości uprzednio odłożonych lub nowych Postfix najpierw nawiązuje ograniczoną (konfigurowalną) liczbę połączeń z systemem odbierającym pocztę. Po wykryciu pomyślnego doręczenia wiadomości pod konkretny adres hosta program zaczyna powoli zwiększać liczbę równoległych połączeń z nim (aż do skonfigurowanego maksimum). Jeśli Postfix wykryje jakiekolwiek problemy ze strony odbiorcy, natychmiast ogranicza szybkość doręczania. Inne agenty doręczające System Postfix zawiera jeszcze inne agenty doręczające, które można skonfigurować do obsługi wiadomości dla konkretnej klasy lub miejsca przeznaczenia. Inne agenty doręczające muszą być skonfigurowane w pliku master.cf. Są one wywoływane albo przez parametr klasa_transport, albo przez wpis w tablicy transportów wskazanej przez parametr transport_ maps. Dwoma popularnymi alternatywnymi agentami doręczającymi są lmtp i pipe. Doręczanie poprzez LMTP Protokół LMTP przypomina SMTP, lecz służy do doręczania wiadomości pomiędzy systemami pocztowymi w tej samej sieci (dodatkowe informacje na temat LMTP zawiera rozdział 7.). Na przykład, jeśli wiadomość musi zostać doręczona do innego pakietu oprogramowania, który może być uruchomiony w tym samym komputerze lub w innym systemie w sieci lokalnej, menedżer kolejek wywołuje agenta doręczającego lmtp. Najczęściej spotykanym przypadkiem użycia LMTP jest sytuacja, gdy serwer POP/IMAP przechowuje wiadomości w formacie niestandardowym (pamiętajmy, że POP i IMAP są protokołami służącymi użytkownikom do odbierania wiadomości). W tym przypadku serwer POP/IMAP ma własny format do zapisywania i przechowywania wiadomości, więc Postfix używa standardu LMTP do przekazania wiadomości do serwera POP/IMAP. Jeśli występują problemy z doręczeniem wiadomości, agent lmtp powiadamia menedżera kolejek, że wiadomość powinna zostać oznaczona do doręczenia później i zapisana w kolejce wiadomości doręczonych. Doręczanie potokowe Postfix oferuje opcję doręczania wiadomości do innego programu przez demona pipe, który doręcza wiadomości do zewnętrznych poleceń. Typowym zastosowaniem demona pipe jest doręczanie poczty do zewnętrznego filtra treści lub innego medium komunikacyjnego, na przykład urządzenia faksu. Jeśli występują problemy z doręczeniem wiadomości, demon pipe powiadamia menedżera kolejek, że wiadomość powinna zostać oznaczona do doręczenia później i zapisana w kolejce wiadomości odłożonych. Trasa wiadomości przez Postfix Prześledźmy typową drogę wiadomości poprzez system Postfix. Rysunki 3.4, 3.5 i 3.6 ilustrują proces przechodzenia wiadomości od systemu nadawcy do docelowego MTA, który z kolei przekazuje wiadomość do finalnego MTA, gdzie wiadomość jest przechowywana, dopóki użytkownik nie będzie gotów do jej odczytania. Na rysunku 3.4 Helena (helene@oreilly.com) chce wysłać wiadomość do Franka (frank@postfix.org). Helena ma konto w systemie z zainstalowanym serwerem Postfix. Klient pocztowy pozwala jej napisać wiadomość, a następnie 34 Rozdział 3. Architektura Postfiksa

Rysunek 3.4. Trasa doręczanej wiadomości (część 1.) wywołuje polecenie Postfiksa sendmail do wysłania wiadomości. Polecenie to odbiera wiadomość od programu pocztowego Heleny i zapisuje w katalogu maildrop. Następnie demon pickup pobiera wiadomość, sprawdza jej poprawność logiczną i wprowadza wiadomość do demona cleanup, który przetwarza ją ostatecznie. Gdyby klient pocztowy Heleny nie podał adresu From: lub nie użył pełnej nazwy hosta w adresie, demon cleanup wprowadziłby niezbędne poprawki w wiadomości. Po zakończeniu pracy cleanup umieszcza wiadomość w kolejce incoming i powiadamia menedżera kolejek, że nowa wiadomość jest gotowa do doręczenia. Jeśli menedżer kolejek jest gotowy do przetwarzania nowych wiadomości, to przenosi wiadomość do kolejki active. Ponieważ wiadomość jest przeznaczona dla użytkownika w zewnętrznym systemie, menedżer kolejek musi wywołać agenta smtp, aby zajął się doręczeniem. Agent smtp, korzystając z usługi DNS (patrz rozdział 6.), pobiera listę systemów pocztowych, które mogą przyjmować pocztę dla domeny postfix.org. Agent smtp wybiera najbardziej preferowanego hosta MX z listy i kontaktuje się z nim, aby doręczyć wiadomość Heleny. Rysunek 3.5 przedstawia serwer pocztowy Franka w postfix.org, również używający systemu Postfix, aczkolwiek system ten może korzystać z dowolnego innego MTA zgodnego ze standardami. Demon Postfiksa smtpd w serwerze Franka odbiera wiadomość od agenta doręczającego smtp Heleny. Gdy demon zweryfikuje, że w rzeczy samej powinien przyjąć tę wiadomość, przekazuje ją przez demona cleanup, który przeprowadza swoją kontrolę przed zapisaniem wiadomości w kolejce incoming. Menedżer kolejek przenosi wiadomość do kolejki active, wykonuje własne zadania przetwarzania i ustala, że powinien wywołać agenta local, aby ostatecznie doręczyć wiadomość. Agent doręczający local ustala, że frank jest aliasem i ponownie zgłasza wiadomość poprzez demona cleanup do doręczenia pod nowy adres. Trasa wiadomości przez Postfix 35

Rysunek 3.5. Trasa doręczanej wiadomości (część 2.) Zarówno cleanup, jak i menedżer kolejek wywołują przy przetwarzaniu wiadomości demona trivial-rewrite. Pomaga on konwertować adresy email do standardowego formatu i ustalać typ transportu oraz następne miejsce na trasie doręczenia. Gdy nowa wiadomość musi zostać doręczona do innej sieci, menedżer kolejek wywołuje smtp. Ten szuka w DNS-ie serwerów pocztowych, które mogą przyjąć pocztę dla domeny onlamp. com. Na rysunku 3.6 MTA w systemie onlamp.com (szczęśliwym zbiegiem okoliczności to też jest system Postfix) w końcu przekazuje wiadomość do agenta doręczającego local, który zapisuje ją w magazynie wiadomości w tym systemie. Na tym etapie Postfix zakończył swoje zadanie. Frank może teraz odczytać wiadomość, używając własnego klienta pocztowego, który może pobrać wiadomość wprost z lokalnego magazynu lub użyć innego protokołu, np. POP lub IMAP, aby pobrać wiadomość do odczytania. Rysunek 3.6. Trasa doręczanej wiadomości (część 3.) W naszym prostym przykładzie mogło wystąpić kilka różnic. Na dowolnym etapie jakakolwiek przejściowa przyczyna mogła chwilowo uniemożliwić doręczenie wiadomości; w takim przypadku agent doręczający powiadamia menedżera kolejek, który umieszcza wiadomość w kolejce deferred i ponawia próbę doręczenia w późniejszym terminie. Może też się zdarzyć, że doel nie będzie faktycznym kontem w systemie, lecz kontem w systemie pocztowym IMAP. W takim przypadku menedżer kolejek mógłby doręczyć wiadomość za pomocą agenta lmtp lub przez wyspecjalizowane polecenie skonfigurowane przez agenta doręczającego pipe. 36 Rozdział 3. Architektura Postfiksa

Istnieje wiele potencjalnych odmian tego schematu i komplikacji, z którymi Postfix musi sobie radzić. Na szczęście architektura systemu jest wystarczająco solidna, aby poradził on sobie w niemal każdej sytuacji, oraz wystarczająco elastyczna, by mógł z łatwością dostosować się do zmian w przyszłości. Trasa wiadomości przez Postfix 37