Czy polecenie mail wymaga serwera pocztowego?

16

Czy trzeba skonfigurować serwer pocztowy, aby móc korzystać z mailpolecenia linux ?

puk
źródło
@slm to nie to samo, co to pytanie wskazuje, że do uruchomienia poczty potrzebny jest serwer SMTP, ale pytam, czy jest to absolutnie konieczne
puk
1
Tak, to możliwy duplikat, odpowiedziałem b / c, że Q uważa to za zbyt szczegółowe. Nadal czuję się dupkiem, ale i tak odpowiedziałem 8-)
slm

Odpowiedzi:

14

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 maili 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ć digpolecenia, aby zobaczyć:

$ dig gnu.org mx

; <<>> DiG 9.7.4-P1-RedHat-9.7.4-2.P1.fc14 <<>> gnu.org mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21053
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;gnu.org.           IN  MX

;; ANSWER SECTION:
gnu.org.        299 IN  MX  10 eggs.gnu.org.

;; ADDITIONAL SECTION:
eggs.gnu.org.       299 IN  A   208.118.235.92
eggs.gnu.org.       299 IN  AAAA    2001:4830:134:3::10

;; Query time: 218 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:27:22 2013
;; MSG SIZE  rcvd: 90

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:

Czy to DNS na moim komputerze lokalnym?

Na co odpowiedziałem:

@puk - może być tak samo jak serwer pocztowy, ale zazwyczaj tak nie jest. Sprawdź swój /etc/resolv.confplik, a także po uruchomieniu digpolecenia zauważysz SERVER: ...linię na dole. To serwer DNS obsługuje Twoje żądanie.

Przykład

Mój /etc/resolv.confplik zawiera następujące elementy:

nameserver 192.168.1.8

I zapytania takie jak ten, używając dig:

$ dig gnu.org mx

Wynik w dolnej części:

;; Query time: 259 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct  3 17:46:13 2013
;; MSG SIZE  rcvd: 90

A dla bystrego czytelnika, zapytam, jak to jest skonfigurowane? Odpowiedź to /etc/nsswitch.confplik. W szczególności ta linia:

hosts:      files mdns4_minimal [NOTFOUND=return] dns

Oznacza to, że najpierw użyj plików ( /etc/hosts), a następnie mdns4_minimal. To jest DNS multiemisji. Zasadniczo jest to pamięć podręczna poprzednich wyszukiwań. Wreszcie używa, dnsktóry jest adresem IP nameserverwyznaczonego w /etc/resolv.confpliku.

slm
źródło
Czy to DNS na moim komputerze lokalnym?
puk
@puk - zobacz aktualizacje.
slm
@puk - Dodałem więcej ....
slm
7

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/sendmailaby 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 mailxpakietu (który udostępnia mailpolecenie): bsd-mailxi heirloom-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, msmtpniż poleganiem wyłącznie na smarthostie, heirloom-mailxponieważ 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 a crondinne 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.

cas
źródło