Tradycyjnie, uniksowy program mail
i jego pochodne (oraz wiele innych narzędzi uniksowych) korzystają z interfejsu /usr/bin/sendmail
, udostępnianego przez prawie wszystkie agenty przesyłania poczty (MTA - postfix, exim, courier i oczywiście sendmail).
Oznacza to, że program mail
nie posługuje się żadnym protokołem sieciowym - przekazuje wiadomość do sendmail
przez stdin i pozwala mu zająć się faktycznym dostarczeniem. (To sięga czasów, gdy część poczty korzystała z SMTP, część z UUCP, a część z BITNET…)
Po ustawieniu wiadomości w kolejce przez sendmail
, MTA zajmuje się faktyczną transmisją wiadomości, czy to przez SMTP czy przez coś innego. W zależności od konfiguracji, może łączyć się bezpośrednio z docelowym MTA, lub przekazywać pocztę przez inny host (zwany również smarthost).
Połączenie bezpośrednie jest bardziej powszechne na serwerach; przekazywanie przez smarthost jest bardziej powszechne na komputerach osobistych na łączach domowych - przekazywanie przez Gmail lub konto pocztowe ISP/pracy jest niezbędne do uniknięcia filtrów antyspamowych typu “dynamiczne IP”.
(Niektóre MTA takie jak esmtp
lub nullmailer
są zbudowane specjalnie dla użytkowników domowych i zawsze używają relayhost. Nie obsługują one odbierania poczty i są dużo mniej zasobożerne).
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → recipient MTA → recipient inbox
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
Inne programy, głównie przyjazne dla użytkownika klienty graficzne takie jak Thunderbird czy Outlook, zawsze łączą się bezpośrednio z serwerem SMTP relay/smarthost (ponownie, zwykle Gmail lub serwer SMTP ISP/pracy), który przesyła wiadomość w Twoim imieniu.
Natywne wsparcie SMTP jest obecne w heirloom-mailx
, ale nie w tradycyjnym bsd-mailx
.
app → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
Trzecia metoda - łączenie się bezpośrednio z serwerem odbiorcy - jest prawie nigdy nieużywana i żadna MUA jej nie obsługuje. Na komputerach osobistych jej użycie spowodowałoby odrzucenie wiadomości (wiele spamu jest wysyłane z zainfekowanych adresów IP użytkowników domowych).
app → [SMTP] → recipient MTA → caught by the spam filter