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.