EXIM to wysoce konfigurowalne oprogramowanie agenta transferu poczty open source

exim Transakcyjna usługa e -mail

Agent przesyłania poczty typu open source jako alternatywa dla sendmaila

EXIM jest wysoce konfigurowalnym agentem przesyłania poczty open source do routingu e -mail i dostawy. Jest to wybór numer jeden dla organizacji na poziomie korporacyjnym ze względu na jego elastyczność.

Przegląd

Komunikacja pocztą elektroniczną stała się prymitywna w naszym życiu. Wysyłanie e -maili z komputera, telefonu komórkowego lub dowolnego innego urządzenia to codzienna romans dla większości osób. Prosty protokół transferu poczty (SMTP) to standardowy protokół używany do wysyłania wiadomości e -mail. IMAP i POP3 to protokoły do ​​odbierania e -maili. IMAP ma pewne zalety w stosunku do pop z powodu synchronizacji na urządzeniach. Tak więc agent przesyłania poczty, który open source i obsługuje wszystkie te wymagane protokoły, ma kluczowe znaczenie. Uruchomienie agenta przesyłania poczty jest bardzo żmudnym zadaniem, a zatem wybór, który dokonujesz dla oprogramowania MTA, wymaga głębokiej analizy w stosunku do matrycy wymagań. EXIM jest jednym z najbardziej elastycznych agentów przesyłania poczty open source, który może być używany jako wymiana domyślnego agenta przesyłania poczty większości systemów UNIX. EXIM jest wyposażony w pakiet najnowocześniejszych funkcji, w tym kompatybilność sendmail, obsługę CPANEL, elastyczną konfigurację, a przede wszystkim ogromną obsługę społeczności typu open source. EXIM jest jak framework z językiem aplikacji do konfigurowania złożonych konfiguracji. Ma zaawansowaną logikę przetwarzania poczty wieloetapowej, która pomaga w rozwiązywaniu złożonych przypadków użycia. Sendmail jest już zagubiony w przypadku postfix we wszystkich aspektach, jednak postfix jest mniej wszechstronny niż exim. Ma doskonałe wsparcie integracji i zapewnia wszystko, o co może zapytać administrator systemu. EXIM obsługuje większość funkcji agenta przesyłania poczty w taki czy inny sposób.

Wymagania systemowe

Przed budowaniem EXIM lokalny plik konfiguracyjny, który określa opcje niezależne od dowolnego systemu operacyjnego, musi zostać utworzona za pomocą nazwy Local/Makefile. Szablon tego pliku jest dostarczany jako plik src/editme i zawiera pełne opisy wszystkich ustawień opcji. Te opisy nie są zatem powtarzane tutaj. Jeśli budujesz EXIM po raz pierwszy, najprostszą rzeczą do zrobienia jest skopiowanie SRC/EDITME do lokalnego/makefile, a następnie odczytanie go i odpowiednio edytować. Istnieją trzy ustawienia, które musisz dostarczyć, ponieważ EXIM nie będzie się bez nich budować. Są lokalizacją pliku konfiguracyjnego czasu wykonywania (konfiguruj \ _file), katalogu, w którym będą instalowane binarie EXIM (bin \ _directory) oraz tożsamość użytkownika exim (exim \ _user i być może exim \ _group). Wartość konfiguracji \ _file może być w rzeczywistości listą nazw plików oddzielonych okrężnikami; Exim używa pierwszego z nich. Istnieje kilka innych parametrów, które można określić w czasie budowy lub w czasie wykonywania, aby umożliwić zastosowanie tego samego binarnego na wielu różnych maszynach. Jeśli jednak lokalizacje katalogu szpuli EXIM i katalogu plików dziennika (jeśli nie w katalogu szpuli), zaleca się określenie ich w lokalnym/makefile zamiast w czasie wykonywania, tak aby błędy wykryte wcześnie w wykonaniu EXIM (takie takie wykonywanie (takie Jako uszkodzony plik konfiguracyjny) można zalogować. Interfejsy EXIM do wywoływania wirusów i oprogramowania do skanowania spamu bezpośrednio z list kontroli dostępu nie są domyślnie kompilowane. Jeśli chcesz dołączyć te urządzenia, musisz ustawić

WITH_CONTENT_SCAN=yes

w lokalnym/makefile. Aby uzyskać szczegółowe informacje na temat samych obiektów Jeśli zamierzasz zbudować monitor EXIM, wymagany jest podobny proces konfiguracji. Plik exim \ _monitor/editme musi być odpowiednio edytowany do instalacji i zapisać pod nazwą lokal/eximon.conf. Jeśli jesteś zadowolony z domyślnych ustawień opisanych w Exim \ _Monitor/EditMe, lokalny/eximon.conf może być pusty, ale musi istnieć. Jest to cała konfiguracja potrzebna w prostych przypadkach dla znanych systemów operacyjnych. Jednak proces budowania jest skonfigurowany tak, aby łatwo zastąpić opcje ustawione domyślnie lub przez pliki konfiguracyjne specyficzne dla systemu operacyjnego, na przykład, aby zmienić kompilator C, który domyślnie wynika z GCC.

Cechy

EXIM obsługuje wszystkie nowoczesne funkcje, które możesz sobie wyobrazić z oprogramowania Top Open Source Mail Transfer Agent. Są to niektóre z głównych cech Exim:

  • EXIM podąża za tym samym ogólnym podejściem zdecentralizowanej kontroli, jak Smail. Nie ma centralnego procesu wykonywania ogólnego zarządzania dostarczaniem poczty. Jednak w przeciwieństwie do Smail, niezależne procesy dostawy udostępniają dane w postaci „wskazówek”, co w niektórych przypadkach zwiększa wydajność dostawy. Wskazówki są przechowywane w wielu plikach DBM. Jeśli którykolwiek z tych plików zostanie utracony, jedynym efektem jest zmiana wzorca prób dostawy i ponownych prób.
  • Wiele opcji konfiguracji można podać jako ciągi rozszerzające, które są przekształcane na różne sposoby, gdy są używane. Ponieważ mogą one obejmować wyszukiwania plików, w razie potrzeby można w razie potrzeby opierać się na tabeli. Na przykład możliwe jest wykonanie lokalnej dostawy na komputerze, na którym użytkownicy nie mają kont. Ostateczną elastyczność można uzyskać (po cenie), uruchamiając interpretera Perla, jednocześnie rozszerzając ciąg.
  • Dostęp do oglądania wiadomości historycznych.
  • Dostęp do wyświetlenia pełnego wychodzącego i wzmacniacza; Przychodząca kolejka wiadomości.
  • EXIM ma elastyczne algorytmy ponownej ponownej liczby, mające zastosowanie do adresów reżyserskich i routingu, a także do dostawy.
  • EXIM zawiera urządzenia do przepisywania nagłówków i koperty.
  • Niekwalifikowane adresy są akceptowane tylko z określonych hostów lub sieci.
  • EXIM może wykonywać wiele dostaw w dół tego samego kanału SMTP po opóźnieniu dostaw.
  • EXIM można skonfigurować do natychmiastowego wykonywania dostaw lokalnych, ale do pozostawienia dostaw zdalnych (SMTP), dopóki wiadomość nie zostanie odebrana przez proces prowadzony w kolejce. Zwiększa to prawdopodobieństwo wysłania wielu wiadomości z pojedynczym połączeniem SMTP.
  • Zdalne dostawy tej samej wiadomości do różnych hostów można opcjonalnie wykonać równolegle.
  • Przychodzące wiadomości SMTP rozpoczynają dostawę, gdy tylko zostaną otrzymane, bez oczekiwania na zamknięcie połączenia SMTP.
  • EXIM ma obsługę rozszerzenia SMTP Auth dla uwierzytelniania klientów oraz rozszerzenia StartTLS w celu konfigurowania zaszyfrowanych połączeń.
  • Wyrażenia regularne kompatybilne z perla są dostępne w wielu parametrach konfiguracyjnych.
  • Listy domen mogą obejmować wyszukiwania plików, umożliwiając obsługę bardzo dużej liczby domen lokalnych.
  • EXIM obsługuje opcjonalne sprawdzanie przychodzącej ścieżki powrotu (nadawcy) i adresów odbiornika, ponieważ są one odbierane przez SMTP.
  • Połączenia SMTP z określonych maszyn, opcjonalnie z określonych idencji, można zablokować, a przychodzące wiadomości SMTP od określonych nadawców można również zablokować. EXIM obsługuje również korzystanie z listy blokowania czasu rzeczywistego (RBL).
  • Hosty, które mogą przekazywać pocztę za pośrednictwem maszyny do innej domeny zewnętrznej, mogą być kontrolowane według numeru IP lub numeru sieci IP. Dostępny jest również kontrola przekaźnika według domeny odbiorcy i adresu nadawcy.
  • Wiadomości w kolejce mogą być „zamrożone” i „rozmrożone” przez administratora.
  • EXIM może obsłużyć szereg niezależnych domen lokalnych na tej samej maszynie; Każda domena może mieć własne pliki aliasów itp. Ten obiekt jest czasem znany jako „domeny wirtualne”.
  • Proste listy mailingowe mogą być obsługiwane bezpośrednio przez sam EXIM (ale w przypadku „poważnych” operacji listy mailingowej najlepiej jest je używać w połączeniu ze specjalistycznym oprogramowaniem listy mailingowej).
  • EXIM States Directory Home User’s Home przed poszukiwaniem pliku „.Forward”, aby wykryć przypadek brakującego montażu NFS. Dostawa jest opóźniona, jeśli katalog jest niedostępny.
  • EXIM zawiera opcjonalny wbudowany obiekt filtrowania poczty. Można to skonfigurować, aby umożliwić użytkownikom dostarczanie osobistych plików filtra, a do każdego komunikatu można zastosować plik filtra w całym systemie.
  • Istnieje obsługa wielu skrzynek pocztowych użytkowników kontrolowanych przez prefiks lub sufiksy na nazwie użytkownika, za pośrednictwem mechanizmu filtra lub za pomocą wielu plików „.Forward”.
  • Okresowe ostrzeżenia są automatycznie wysyłane do nadawców wiadomości, gdy dostawa jest opóźniona - czas między ostrzeżeniami jest konfigurowany. Ostrzeżenia mogą być uzależnione od zawartości wiadomości.
  • Bieg kolejki można ręcznie dostarczać tylko określoną część kolejki lub te wiadomości z odbiorcą, którego adres zawiera dany ciąg. Polecenie ETRN w SMTP istnieje wsparcie.
  • EXIM można skonfigurować do działania jako root przez cały czas, z wyjątkiem wykonywania lokalnych dostaw, co zawsze robi w osobnym procesie pod odpowiednim UID i GID. Alternatywnie można go skonfigurować do uruchamiania się jako root tylko w razie potrzeby; W szczególności nie musi działać jako root podczas otrzymywania wiadomości przychodzących lub wysyłania wiadomości przez SMTP. Omówienie problemów bezpieczeństwa znajdują się w rozdziale 55.
  • Starałem się wyjaśnić i prostsze brzmienie wiadomości o awarii dostawy, z korzyścią dla osób mniej doświadczonych, którzy obecnie korzystają z wiadomości e-mail. Alternatywne sformułowanie dla tych wiadomości można podać w osobnym pliku.
  • Monitor EXIM jest opcjonalnym dodatkiem; Wyświetla informacje o przetwarzaniu EXIM w oknie X, a administrator może wykonywać szereg działań kontrolnych z interfejsu okna. Jednak wszystkie takie działania są również dostępne z interfejsu wiersza poleceń.

Instrukcje Instalacji

Instalowanie binarów i skryptów EXIM

Polecenie sprawił, że instalacja uruchamia skrypt exim \ _install bez żadnych argumentów. Skrypt kopiuje pliki binarne i scenariusze użyteczności do katalogu, którego nazwa jest określona przez ustawienie BIN \ _DIRECTory w lokalnym/makefile. Instaluj skrypt kopiuje pliki tylko wtedy, gdy są nowsze niż pliki, które zamierzają zastąpić. Binarny EXIM musi być własnością Root i mieć zestaw bitów setuid, dla normalnych konfiguracji. Dlatego musisz uruchomić instalację jako root, aby mógł w ten sposób skonfigurować binarny Exim. Jednak w niektórych specjalnych sytuacjach (na przykład, jeśli gospodarz nie wykonuje żadnych lokalnych dostaw), może być możliwe uruchomienie EXIM bez tworzenia binarnego korzenia setuid (szczegółowe informacje na podstawie rozdziału 56). Plik konfiguracyjny EXIM jest nazwany przez ustawienie konfiguracyjne \ _file w lokalnym/makefile. Jeśli ten nazywa pojedynczy plik, a plik nie istnieje, domyślny plik konfiguracyjny src/configure.default jest tam skopiowany przez skrypt instalacyjny. Jeśli istnieje już plik konfiguracji czasu wykonywania, pozostaje on sam. Jeśli konfiguracja \ _file jest listą oddzieloną od okręgu, nazywanie kilku alternatywnych plików, nie jest zainstalowane domyślnie. Jedna zmiana jest wprowadzana do domyślnego pliku konfiguracyjnego po zainstalowaniu: Domyślna konfiguracja zawiera router, który odwołuje się do pliku aliasu systemu. Ścieżka do tego pliku jest ustawiona na wartość określoną przez system \ _aliases \ _file w lokalnym/makefile (/etc/aliases domyślnie). Jeśli plik aliasu systemu nie istnieje, skrypt instalacyjny go tworzy i wyświetla komentarz użytkownikowi. Utworzony plik nie zawiera aliasów, ale zawiera komentarze na temat aliasów, które witryna powinna mieć normalnie. Pliki pocztowe tradycyjnie były przechowywane w /etc /aliases. Jednak niektóre systemy operacyjne używają teraz/etc/poczty/aliases. Powinieneś sprawdzić, czy twój jest jednym z nich, i w razie potrzeby zmienić konfigurację EXIM. Domyślna konfiguracja używa nazwy lokalnego hosta jako jedynej domeny lokalnej i jest skonfigurowana do dostaw lokalnych do udostępnionego katalogu /var /maila, działającego jako lokalny użytkownik. Obsługiwane są aliasy systemowe i pliki .forward w katalogach domowych użytkowników, ale nie skonfigurowana jest obsługa NIS ani NIS+. Domeny inne niż nazwa lokalnego hosta są kierowane za pomocą DNS, z dostawą nad SMTP. Możliwe jest zainstalowanie EXIM do specjalnych celów (takich jak budowanie dystrybucji binarnej) w prywatnej części systemu plików. Możesz to zrobić za pomocą polecenia, takiego jak

make DESTDIR=/some/directory/ install

Ma to wpływ wstępnego nakładu określonego katalogu na wszystkie ścieżki plików, z wyjątkiem nazwy pliku aliasów systemowych, który pojawia się w domyślnej konfiguracji. (Jeśli utworzony jest domyślny plik aliasu, jego nazwa jest modyfikowana.) W przypadku kompatybilności wstecznej, root jest używany, jeśli destdir nie jest ustawiony, ale to użycie jest przestarzałe. Uruchamianie instalacji nie kopiuje skryptu konwersji EXIM 4 CONWERT4R4. Prawdopodobnie uruchomisz to tylko raz, jeśli aktualizujesz z EXIM 3. Żaden z plików dokumentacji w katalogu DOC nie jest kopiowany, z wyjątkiem plików informacyjnych, gdy ustawiasz informacje \ _Directory, jak opisano w sekcji 4.17 poniżej. W przypadku programów użytkowych stare wersje są przemianowane przez dodanie sufiks .o do ich nazwisk. Sam plik binarny jest jednak obsługiwany inaczej. Jest instalowany pod nazwą zawierającą numer wersji i numer kompilacji, na przykład EXIM-4.94-1. Następnie skrypt organizuje symboliczny link o nazwie Exim, aby wskazać binarne. Jeśli aktualizujesz poprzednią wersję EXIM, skrypt uważa, że ​​nazwa EXIM nigdy nie jest nieobecna w katalogu (jak widać inne procesy). Jeśli chcesz zobaczyć, co zrobi instalacja przed uruchomieniem go, możesz przekazać opcję -n do skryptu instalacji przez to polecenie:

make INSTALL_ARG=-n install

Zawartość instalacji zmiennej \ _ARG jest przekazywana do skryptu instalacyjnego. Nie musisz być rootem, aby uruchomić ten test. Alternatywnie możesz uruchomić skrypt instalacyjny bezpośrednio, ale musi to pochodzić z katalogu kompilacji. Na przykład z katalogu EXIM na najwyższym poziomie możesz użyć tego polecenia:

(cd build-SunOS5-5.5.1-sparc; ../scripts/exim_install -n)

Istnieją dwie inne opcje, które można dostarczyć do skryptu instalacyjnego.

  • -No \ _chown omija połączenie, aby zmienić właściciela zainstalowanego binarnego na root, a wywołanie uczynienia go binarnym.
  • -NO \ _SymLink omija konfigurowanie symbolicznego łącza Exim do zainstalowanego binarnego. Zainstaluj \ _ARG można użyć do przekazania tych opcji do skryptu. Na przykład:
make INSTALL_ARG=-no_symlink install

Skrypt instalacyjny można również podać argumenty określające, które pliki mają zostać skopiowane. Na przykład, aby zainstalować tylko binarną exim i nic więcej, bez tworzenia symbolicznego linku, możesz użyć:

make INSTALL_ARG='-no_symlink exim' install

Instalowanie dokumentacji informacji

Nie wszystkie systemy używają systemu informacyjnego GNU do dokumentacji i z tego powodu źródło dokumentacji EXIM nie jest zawarte w głównej dystrybucji. Zamiast tego jest dostępny osobno od witryny FTP (patrz sekcja 1.5). Jeśli masz zdefiniowane informacje \ _Directory w lokalnym/makefile, a źródło dokumentacji Texinfo znajduje się w drzewie źródłowym, uruchamianie instalacji automatycznie tworzy pliki informacyjne i instaluje je.

 Polski