2011-07-04 15:23:42 +0000 2011-07-04 15:23:42 +0000
446
446

Was ist die "Sie haben neue Mail"-Nachricht unter Linux/UNIX?

Manchmal, wenn ich mich in eine Box einlogge und ‘su’ zu root gehe, erhalte ich eine süße kleine Nachricht, die besagt, daß ich Mail habe (Gott sei Dank ist es nicht AOL).

  • Wo ist diese Mail?
  • Was enthält sie?
  • Wer/Was hat sie geschickt?
  • Wie wichtig ist sie? Oder sagt mir mein System einfach nur etwas?

EDIT: In Bezug auf diese Frage, könnte ich mir selbst mit dem Programm sendmail Post schicken, etwa so: email@localhost?

Antworten (7)

367
367
367
2011-07-04 16:30:34 +0000

Wo ist diese Mail?

Sie befindet sich wahrscheinlich in der Spool-Datei: /var/mail/$USER oder /var/spool/mail/$USER sind die häufigsten Speicherorte unter Linux und BSD.

(Andere Speicherorte sind möglich - prüfen Sie, ob $MAIL eingestellt ist - aber standardmäßig informiert Sie das System nur über /var(/spool)/mail. )

Gewöhnlich ist die Spooldatei in einem sehr einfachen mbox-Format, so daß Sie sie in einem Texteditor oder Pager öffnen können.

Um es etwas bequemer zu machen, werden die meisten Distributionen mit einem Programm namens mail (oder Mail, mailx) ausgeliefert. Sie können mutt oder alpine ausprobieren; Sie können es sogar so konfigurieren, dass es an eine externe Mailbox gesendet wird. (Siehe “Ist das echte Mail?” weiter unten.)

Was enthält es und wer/was hat es geschickt?

Meistens enthalten die Nachrichten Ausgaben von Cron-Jobs oder einen Systemsicherheitsbericht von logwatch oder ähnlichen Müll. Lesen Sie es und finden Sie es heraus.

Wie wichtig ist es?

Hängt stark vom Inhalt jeder Nachricht ab.

Sie sollten zumindest die Betreffzeilen scannen - oft ignorieren die Leute die Mail monatelang und merken nie, daß ihre täglichen Cron-Jobs fehlschlagen.

Ist dies überhaupt tatsächliche “Mail” im selben Sinne wie E-Mail? Oder sagt mir nur mein System etwas?

Ja zu beidem - es wird von Ihrem System erzeugt, das Ihnen etwas sagt, aber es ist auch tatsächliche “Mail” und kann als solche behandelt werden.

Sie können (und sollten) Ihre Mail-Software - den “MTA” alias /usr/sbin/sendmail - so konfigurieren, dass die Nachrichten an Ihre persönliche Mail-Adresse weitergeleitet werden. Die genauen Anweisungen hängen davon ab, welchen MTA (falls vorhanden) Sie installiert haben, ob es sich dabei um einen Personal Computer oder einen Server handelt, ob Sie eine eigene Domain haben oder eine @gmail.com benutzen, usw.

Beachten Sie, dass /usr/sbin/sendmail heutzutage eine gemeinsam genutzte API ist und nicht unbedingt den ursprünglichen Sendmail-MTA bedeutet. Tatsächlich sollten Sie nicht Sendmail verwenden, sondern etwas Moderneres wie OpenSMTPD, Postfix oder Exim4. Sie alle bieten dasselbe /usr/sbin/sendmail-Tool, aber sie sind einfacher zu konfigurieren, sicherer und genauso leistungsfähig.

219
219
219
2011-11-25 11:46:45 +0000

Am einfachsten war es für mich, Folgendes in einem Terminal laufen zu lassen:

cat /var/spool/mail/root
64
64
64
2014-08-30 19:47:07 +0000

Für alle, die sich fragen, wie man diese Nachrichten einzeln lesen kann, können Sie einfach ‘mail’ verwenden

$ mail

Dann geben Sie eine Nachrichtennummer aus der Liste ein, die Sie lesen möchten.

Um zur nächsten Nachricht zu gelangen, können Sie ‘next’ eingeben, ein weiterer nützlicher Befehl ist ‘delete’…

Um mehr darüber zu erfahren, wie das Programm mail funktioniert, lesen Sie die Ausgabe von man mail.

41
41
41
2011-07-04 16:31:21 +0000

Nur zur Klarstellung: Es ist seit langer Zeit Tradition, dass UNIX-Boxen einen “lokal konfigurierten” Mailer-Daemon laufen lassen, der Nachrichten nicht durch das Internet leitet, sondern nur Nachrichten in die Spool-Verzeichnisse anderer Benutzer kopiert (wie @John T erwähnte). Es handelt sich um echte SMTP-kompatible E-Mail, sie wird nur nicht über das Internet geleitet, weil sie es nicht sein muss.

Wenn Sie also einen E-Mail-Client starten (wie alpine oder mutt), können Sie E-Mails an andere Benutzer auf dem System senden, indem Sie an user@hostname adressieren oder in vielen Fällen einfach den Benutzer angeben. Wahrscheinlich haben Sie auch ein Befehlszeilenprogramm namens mailx, mit dem Sie über Ihre Shell eine schnelle E-Mail senden können.

Wenn Sie nun Nachrichten an Benutzer auf anderen Systemen als dem, auf dem Sie eingeloggt sind, senden wollen, fängt der Spaß erst richtig an. Sie müssen Ihren Mailer-Daemon so konfigurieren, dass er externe E-Mails erkennt und an einen Transfer-Agent weiterleitet, den Transfer-Agent konfigurieren und eine ganze Reihe von Dingen tun, die ich selbst noch nicht verstehe.

26
26
26
2011-07-04 15:29:18 +0000

Wo ist diese Mail?

Sehr wahrscheinlich auf Ihrem Rechner gespeichert, im Mailbox-Ordner für Ihren Root-Benutzer (wo DAS ist, hängt davon ab, welche Art von Mail-Server Sie installiert haben). Sie können wahrscheinlich ziemlich schnell über alpine darauf zugreifen.

Was enthält sie?

Wahrscheinlich nur Zeug vom Typ Systembericht. “So und so versuchte ich 10 Mal, mich mit einem falschen Passwort anzumelden”… “Ich wünschte, jemand würde Updates über mich laufen lassen”, “Treiber so und so fällt ständig aus”, “Der NSA-Bot hat die Leistung um 1% gesteigert”… usw….

Wer/Was hat ihn geschickt?

Wahrscheinlich Dienste auf Ihrem Server.

Wie wichtig ist er?

Hängt davon ab, wie wichtig Ihr Server ist.

14
14
14
2011-07-04 15:28:29 +0000

Diese E-Mail befindet sich normalerweise in /var/spool/mail/root, wenn der (übliche) Standard-Sendmail-Dämon konfiguriert ist. Sie enthält eine RAW-E-Mail-Nachricht, die vom Dienstprogramm mail gelesen werden kann. Wer sie abgeschickt hat, kann durch Ausführen des Dienstprogramms mail und Durchblättern der Nachrichten oder Lesen der RAW-Header gefunden werden.

Die Wichtigkeit der Nachricht hängt gewöhnlich vom vorherigen Faktor ab, wer sie abgeschickt hat :)

Viele System-Dienstprogramme werden das Mail-Subsystem als Mittel zur Berichterstattung und Protokollierung verwenden. Log-Watcher-Dienstprogramme und andere Dienste können eine E-Mail an den lokalen Root-Benutzer senden, um ihn an ein bestimmtes Ereignis zu erinnern, wie z.B. zu wenig Speicherplatz oder Hardwarefehler. Der Mailer-Daemon wird Sie auch benachrichtigen, wenn er keine ausgehende E-Mail senden konnte.

12
12
12
2014-09-03 00:16:39 +0000

less +G /var/spool/mail/root

zeigt die neuesten Mails, am Ende, wenn die Datei.

Die direkte Anzeige der Mail-Datei ist eine gute Idee, aber die Verwendung von cat kann leicht schief gehen. Sie wollen nicht, dass alle Mails vorbeilaufen, wenn sich viele Nachrichten oder sehr lange Nachrichten in der Datei befinden. Ich habe gerade eine mit 150MB, zwei Millionen Zeilen gesehen.

Wenn Sie nicht root sind:

sudo less +G /var/spool/mail/root

Die Option +G wird verwendet, um die neueste Nachricht zuerst anzuzeigen; sie steht nicht am Anfang der Datei, sondern am Ende. Damit wird die letzte Nachricht (neueste) angezeigt, wenn sie auf eine Seite passt, oder andernfalls das Ende dieser Seite.

Der Dateiname kann statt less auch /var/spool/mail/mail lauten