Czy trzeba skonfigurować serwer pocztowy, aby móc korzystać z mail
polecenia linux ?
mail-command
puk
źródło
źródło
Odpowiedzi:
Nie, nie potrzebujesz serwera pocztowego do wysyłania poczty. Najbardziej znam Sendmail i istnieją 3 klasyfikacje funkcjonalności, które spełniają e-mail jako usługę. MDA (Mail Delivery Agents) to 1, a MTA (Mail Transfer Agents) to 2, a 3 to MUA (Mail User Agents).
Terminologia jest myląca, ale nie wymaga się, aby MTA działała cały czas. MTA będzie wywoływany za każdym razem, gdy MUA (
mail
) chce „wysłać” pocztę.Po uruchomieniu
mail
i podać adres, aby wysłać wiadomość do,[email protected]
. Klient poczty przywoła MTA (/usr/bin/sendmail
), która następnie zapyta DNS dla tego hosta / domeny (example.com) i dowie się, jaka wartość jest wyznaczona dla jego rekordu MX. MX oznacza Mail Exchanger.Przykład
Możesz użyć
dig
polecenia, aby zobaczyć:Tak więc klient spróbuje połączyć się z eggs.gnu.org na porcie 25, aby dostarczyć ten e-mail.
Serwer DNS?
@puk zadał następujące pytanie uzupełniające:
Na co odpowiedziałem:
@puk - może być tak samo jak serwer pocztowy, ale zazwyczaj tak nie jest. Sprawdź swój
/etc/resolv.conf
plik, a także po uruchomieniudig
polecenia zauważyszSERVER: ...
linię na dole. To serwer DNS obsługuje Twoje żądanie.Przykład
Mój
/etc/resolv.conf
plik zawiera następujące elementy:I zapytania takie jak ten, używając
dig
:Wynik w dolnej części:
A dla bystrego czytelnika, zapytam, jak to jest skonfigurowane? Odpowiedź to
/etc/nsswitch.conf
plik. W szczególności ta linia:Oznacza to, że najpierw użyj plików (
/etc/hosts
), a następniemdns4_minimal
. To jest DNS multiemisji. Zasadniczo jest to pamięć podręczna poprzednich wyszukiwań. Wreszcie używa,dns
który jest adresem IPnameserver
wyznaczonego w/etc/resolv.conf
pliku.źródło
To zależy od używanej wersji
mail
.Wszystkie wersje potrzebują MTA, aby faktycznie dostarczyć pocztę, ale niektóre wersje mogą używać SMTP do komunikowania się ze zdalnym MTA („smarthost”, np. Serwer pocztowy twojego usługodawcy internetowego), a niektóre mogą tylko potokować wiadomość,
/usr/sbin/sendmail
aby wysłać pocztę za pośrednictwem lokalny MTA.W tym ostatnim przypadku, lokalny serwer może być w pełni rozwiniętym MTA jak sendmail lub Eximie lub postfix . Albo może to być proste, wyślij tylko MTA jak nullmailer lub ssmtp . Lub nieco bardziej wyrafinowany mini-MTA, taki jak msmtp, który obsługuje również kolejkowanie poczty w celu późniejszego dostarczenia.
W świecie wolnego oprogramowania i otwartego oprogramowania istnieją dwa główne warianty
mailx
pakietu (który udostępniamail
polecenie):bsd-mailx
iheirloom-mailx
.bsd-mailx nie mówi SMTP i może wysyłać wiadomości tylko poprzez przesyłanie potokowe
/usr/sbin/sendmail
hierloom-mailx może rozmawiać SMTP ze smarthostem, a także tradycyjną metodą „potok do wysyłania”.
Tak więc, aby odpowiedzieć na pytanie „Czy potrzebujesz serwera poczty?”. Tak, w pewnym sensie. Potrzebujesz go, ale w zależności od zainstalowanej wersji poczty może nie być konieczne zainstalowanie i skonfigurowanie jej we własnym systemie.
IMO, lepiej jest z minimalnym MTA,
msmtp
niż poleganiem wyłącznie na smarthostie,heirloom-mailx
ponieważ nadal musisz ustawiać kolejkę do późniejszego dostarczenia, gdy twoje połączenie internetowe jest niedostępne lub twój smarthost jest nieosiągalny. W lokalnej kolejcemail
acrond
inne programy mogą po prostu wysłać i zapomnieć każdą pocztę. Bez lokalnej kolejki muszą jakoś poradzić sobie z warunkiem błędu, jeśli smarthost jest niedostępny.źródło