ESMTP – bo ja nie chcę smptd
Transkrypt
ESMTP – bo ja nie chcę smptd
ESMTP – bo ja nie chcę smptd [email protected] Dawno, dawno temu, kiedy “Linux łatwy do zainstalowania” znaczyło “wczytuje się z płyty i może wyświetli jakieś menu” królem serwerów SMTP był Sendmail. Serwer ten zasłużył sobie na miano “UNIX-owego deamona” -- konfigurowanie go mogło z pewnością przywołać pomniejsze plugastwa, poślednie szatańskie pomioty i innych niechcianych gości. Problem z tym wszystkim był taki, że UNIX-y myślą, że bez serwera SMTP żyć się nie da. No i podczas jednej z pierwszych zabaw z Linuksem dostałem po twarzy obowiązkowym babraniem się z plikami m4, które generowały konfiguracje (nie chcę wchodzić w detale – mój umysł stara się wyprzeć te wspomnienia) które pozwalało wysłać pocztę do siebie (dostęp do Internetu w tamtych czasach był marzeniem niespełnionym dla wielu, a 0202122 dawało jedyną odtrutkę na ten stan) i do drugiego komputera, jeśli się miało dwa. Sendmail posiadał taką oto listę cech, która natychmiast przekonała mnie do tego, że nie chcę mieć z nim nic wspólnego: ● ● ● ● Konfiguracja Zeżarł mi straszne ilości miejsca na dysku Zeżarł mi strasznie dużo pamięci Po co mi serwer SMTP? Dziś czasy są trochę inne. Mamy projekty takie jak Exim i Postifx dostarczających serwerów SMTP których konfiguracja nie zmusza administratorów do nadużywania środków legalnych i nielegalnych. Eliminuje to punkt pierwszy. Następne dwa punkty zmieniła rzeczywistość, dziś wrzucenie dodatkowego dysku czy kostki pamięci nie stanowi takiego problemu, jak dziesięć lat temu. Ostatni punkt nadal ma sens. Tak, wiem. Szpanersko mieć kolejny proces, kolejny serwer i kolejny problem. Są jednak miejsca, gdzie nie chcę instalować MDA tylko po to, żeby mieć możliwość wysłania e-maila raz na dzień/tydzień/awarię. Przez pewien czas szukałem sposobu, żeby móc przekazywać proces wysyłania poczty do jakiegoś serwera pocztowego, który tym właśnie powinien się tym zajmować (nie powinien się tym zajmować mój laptop (różne IP, zależnie gdzie go mam, więc duża szansa, że moja poczta nigdzie nie dojdzie) ani serwer, który ma tylko i wyłącznie bazę danych klienta). Zarówno Postfix jak i Exim potrafią dostarczać pocztę przez inny serwer. Konfiguracja ich pod tym kątem na komputerach działających pod czymś debiano-podobnym nie sprawia problemu – dpkg-reconfigure załatwia sprawę. Nadal jednak kończymy z serwerem, który musi działać non-stop, tylko po to, żeby zbierać naszą pocztę. Szukałem więc, szukałem, pytałem różnych lokalnych UNIX-owych guru. Ostatecznie znalazłem pakiet ESMTP. Okazało się, że to jest właśnie prostota i funkcjonalność której szukałem! Po zainstalowaniu w systemie powinniśmy mieć dostępny program esmtp – sprawdźcie to odpalając go bezpośrednio z konsoli: $ emil ~> esmtp Recipient names must be specified Świetnie. Jeśli widzicie coś podobnego, znaczy, że całość powinna działać “z buta”. Wybieramy nasz ulubiony edytor1 i tworzymy plik .esmtprc w którym piszemy: # Serwer hostname=example.com:25 # Użytkownik [email protected] # Hasło password= majsikretpasłord # Autoryzacja z użyciem starttls #starttls=disable Po zapisaniu pliku mamy już wszystko z głowy. ESMTP jest “kompatybilne” z Sendmailem jeżeli chodzi o wywoływanie go jako procesu dostarczającego. Więc jeżeli coś gadało do niego, będzie potrafiło rozmawiać ze swoim dużo mniejszym bratem. Jeżeli np. nasza wersja Mutta nie posiada opcji komunikacji z SMTP (pamięć mnie zawodzi, ale to chyba opcja dostępna tylko w MuttNG) wystarczy dopisać jedną linijkę do konfiguracji: set sendmail="/usr/bin/esmtp -f [email protected]" Od tej pory poczta wychodząca z Mutta zostanie wysłana za pośrednictwem serwera skonfigurowanego w .esmtprc – koniec problemów. Oczywiście ESMTP ma także swoje minusy, ważne jednak, żeby te minusy nie przysłoniły Wam plusów. ESMTP jest proste. Bardzo proste. Nie oczekuj więc zarządzania kolejką. Poczta albo wychodzi, albo program wyrzuca z siebie błąd. Jest to oczywiście “wada” per design. Czy warto jest więc wyrzucić swojego MDA na rzecz takiego programiku? Dla mnie warto. Sprawdza się w produkcji, sprawdza się na moim laptopie. Jedna rzecz z głowy, pozostał miliard siedemset trzydzieści dziewięć tysięcy pięćset dwadzieścia dwa. Na szczęście *NIX przynajmniej pozwala mi zdejmować rzeczy z kupki i nie stara się dokładać kolejnych. 1 Poroponuję VI, Vim lub Elvisa. Może być też VI.