Benötigt der Mail-Befehl einen Mailserver?

Benötigt der Mail-Befehl einen Mailserver?

Muss man einen Mailserver einrichten, bevor man den Linux- mailBefehl verwenden kann?

Antwort1

Nein, Sie benötigen keinen Mailserver, um E-Mails zu senden. Ich bin am besten mit Sendmail vertraut und es gibt 3 Funktionsklassifikationen, die E-Mail als Dienst erfüllen. MDA (Mail Delivery Agents) ist 1, MTA (Mail Transfer Agents) ist 2 und 3 ist MUA (Mail User Agents).

Die Terminologie ist verwirrend, aber Sie benötigen keinen ständig laufenden MTA. Der MTA wird jedes Mal aufgerufen, wenn der MUA ( mail) E-Mails „senden“ möchte.

Wenn Sie es ausführen mailund eine Adresse angeben, an die E-Mails gesendet werden sollen, [email protected]ruft der E-Mail-Client den MTA ( /usr/bin/sendmail) auf, der dann DNS nach diesem Host/dieser Domäne (example.com) abfragt und herausfindet, welcher Wert für dessen MX-Eintrag angegeben ist. MX steht für Mail Exchanger.

Beispiel

Mit dem folgenden Befehl können Sie digFolgendes anzeigen:

$ 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

Daher versucht der Client, eine Verbindung zu eggs.gnu.org über Port 25 herzustellen, um diese E-Mail zuzustellen.

DNS Server?

@puk hat folgende Folgefrage gestellt:

Befindet sich dieser DNS auf meinem lokalen Computer?

Worauf ich antwortete:

@puk – es kann auf die gleiche Weise sein wie der Mailserver, aber normalerweise ist es das nicht. Schauen Sie in Ihrer /etc/resolv.confDatei nach und wenn Sie den digBefehl ausführen, werden Sie die SERVER: ...Zeile unten bemerken. Das ist der DNS-Server, der Ihre Anfrage bearbeitet.

Beispiel

Meine /etc/resolv.confDatei enthält Folgendes:

nameserver 192.168.1.8

Und Abfragen wie diese verwenden dig:

$ dig gnu.org mx

Das Ergebnis ist unten:

;; 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

Und für den aufmerksamen Leser eine Frage: Wie wird das konfiguriert? Die Antwort ist die /etc/nsswitch.confDatei. Genauer gesagt diese Zeile:

hosts:      files mdns4_minimal [NOTFOUND=return] dns

Das heißt, verwenden Sie zuerst Dateien ( /etc/hosts), gefolgt von mdns4_minimal. Das ist ein Multicast-DNS. Es ist im Grunde ein Cache früherer Suchvorgänge. Zuletzt wird verwendet, dnswas die IP-Adresse des nameserverin der /etc/resolv.confDatei angegebenen ist.

Antwort2

Es hängt wirklich davon ab, welche Version mailSie verwenden.

Alle Versionen benötigen einen MTA, um die E-Mail tatsächlich zuzustellen, einige Versionen können jedoch über SMTP mit einem Remote-MTA (dem „Smarthost“, z. B. dem Mailserver Ihres Internetdienstanbieters) kommunizieren, und einige können die Nachricht nur weiterleiten, um /usr/sbin/sendmaildie E-Mail über einen lokalen MTA zu senden.

Im letzteren Fall könnte der lokale MTA ein vollwertiger MTA sein wiesendmailodereximoderPostfix. Oder es könnte ein einfacher Send-Only-MTA sein wieNullmaileroderssmtpOder ein etwas ausgefeilterer Mini-MTA wiemsmtpdas auch das Warteschlangen-Stellen von E-Mails für eine spätere Zustellung unterstützt.

In der Welt der freien Software und Open Source gibt es zwei Hauptvarianten des mailxPakets (das den mailBefehl bereitstellt): bsd-mailx, und heirloom-mailx. Der mailBefehl ist auch in GNU verfügbar mailutils.

bsd-mailxspricht kein SMTP und kann E-Mails nur per Pipe an/usr/sbin/sendmail

Erbstück-Mailxkann SMTP mit einem Smarthost kommunizieren, ebenso wie die traditionelle 'Pipe-to-Sendmail'-Methode. Übrigens,Schneckeist wahrscheinlich das beste Derivat von heirloom-mailx – es wird immer noch aktiv weiterentwickelt und aktualisiert.

GNU Mailutilsenthält mehrere E-Mail-bezogene Tools für Endbenutzer und Systemadministratoren, darunter eine Version von mailund vieles mehr.

Um also Ihre Frage zu beantworten: „Brauchen Sie einen Mailserver?“. Ja, in etwa. Sie brauchen einen, aber je nachdem, welche Version mailSie installiert haben, müssen Sie ihn möglicherweise nicht auf Ihrem eigenen System installieren und konfigurieren.

Meiner Meinung nach sind Sie mit mindestens einem minimalen MTA wie msmtp(oder einem vollwertigen wie postfixoder exim) besser dran, als sich ausschließlich auf einen Smarthost mit zu verlassen, heirloom-mailxda Sie E-Mails immer noch für die spätere Zustellung in die Warteschlange stellen müssen, wenn Ihre Internetverbindung unterbrochen ist oder Ihr Smarthost nicht erreichbar ist. Mit einer lokalen Warteschlange können mailund crondund andere Programme E-Mails einfach senden und vergessen. Ohne eine lokale Warteschlange müssen sie irgendwie mit dem Fehlerzustand umgehen, wenn der Smarthost nicht verfügbar ist.

verwandte Informationen