So entfernen Sie die Begrüßungsnachricht "Sie haben E-Mail"

39

Wenn ich mein Terminal öffne, heißt es "Sie haben Mail". Hat jemand eine Idee, warum? Ich verwende OS X, aber da es ebenfalls auf Unix basiert und sich auf Dateien wie bashrc, bash_profile usw. stützt, dachte ich, jemand hier könnte es wissen, und ich bin nicht sicher, ob es ein plattformspezifisches Problem ist!

Gilles 'SO - hör auf böse zu sein'
quelle

Antworten:

37

Es hört sich so an, als hätte etwas über den lokalen Mail-Austauscher E-Mails an das Gerät gesendet (und an dieses gesendet). Höchstwahrscheinlich handelt es sich bei der E-Mail um eine automatisierte Nachricht eines installierten Pakets. Sobald Sie sich angemeldet haben, geben Sie im mailTerminal Folgendes ein, um die relevante E-Mail zu lesen und (vermutlich) zu löschen. ( mailVerwenden Sie diese Option , um ?herauszufinden, wie die Befehle lauten.) Sobald Sie ungelesene E-Mails gelesen oder gelöscht haben, wird die Nachricht "Sie haben E-Mails" erst wieder angezeigt, wenn / auf die gleiche Weise E-Mails gesendet werden. Wenn Sie wissen, an wen Sie die E-Mail senden, finden Sie wahrscheinlich eine Konfigurationsoption, mit der Sie ändern können, wohin die E-Mail gesendet wird.

TJ Crowder
quelle
26

Es ist ein "plattformspezifisches Problem" :-)

Mac OS X verwendet wie viele andere Un * x / Linux-Systeme die BASH als Standard-Shell .

E-Mails von Ihrem System werden in einem Postfach für Ihren Benutzer gespeichert, das sich häufig in befindet /var/mail/$user

Da Ihre Mailbox manchmal wichtige Nachrichten enthält (eine fehlgeschlagene Cronjob-Aufgabe usw.), müssen Sie diese nicht jedes Mal selbst überprüfen.

Die BASH (und viele andere Shells) haben eine Funktion namens mailcheck, die Ihre Nachricht ausgibt, wenn Sie Ihr Terminal zum ersten Mal öffnen.

$ MAILCHECK ist eine Umgebungsvariable, die die Sekunden enthält, in denen nach neuen E-Mails gesucht werden soll. E-Mails werden ebenfalls geprüft, bevor die primäre Eingabeaufforderung angezeigt wird. Weitere Informationen finden Sie in man bash- Bash-Variablen .

Um zu verhindern, dass nach neuen E-Mails gesucht wird, können Sie einfach $ MAILCHECK deaktivieren. Der richtige Ort dafür ist Ihre .bashrc-Datei, die beim Öffnen einer Shell gelesen wird. Es befindet sich in Ihrem Benutzerverzeichnis.

An ~ / .bashrc anhängen:

unset MAILCHECK

um die Nachricht zu deaktivieren.

Natürlich ist es auch möglich, die Mails, wie von TJ Crowder erwähnt, einfach zu löschen :-)

Echox
quelle
7

Unter Verwendung von Raspian (Debian-basierte Distribution für Raspberry Pi) über SSH musste ich die folgende Zeile in /etc/pam.d/sshd auskommentieren, um sie loszuwerden.

session    optional     pam_mail.so standard noenv # [1]
Frode
quelle
4
Könnten Sie etwas mehr dazu sagen, wie Sie das herausgefunden haben? Es könnte für Menschen mit ähnlichen Fragen hilfreich sein.
Vonbrand
Ich habe die Lösung in einer Mailingliste gefunden. Der Autor sagt, er sei beim Stöbern in /etc/pam.d/sshd über die Linie gestolpert. Ich fürchte, das ist alles, was ich weiß.
Frode
Dies hat es für mich auch auf Ubuntu behoben.
Jacob
Kommentar Diese Zeile funktionierte für mich auf Ubuntu (DigitalOcean) und Debian (lokales Netzwerk) über SSH. Ich habe auch motd deaktiviert.
Thiagobraga
3

Ich habe einen Sheevaplug mit Debian. Ich habe die gemeldete Zeile kommentiert und das Problem behoben.

Datei zum Bearbeiten in Debian:

/etc/pam.d/sshd

Zeile zum Kommentieren in der Datei:

session    optional     pam_mail.so standard noenv # [1]
Alessandro D'lncal
quelle
1

Führen crontab -eSie die Cron-Jobs aus und fügen Sie sie hinzu. Wenn Sie E-Mails für nur einen Cron-Job deaktivieren möchten, müssen Sie die Ausgabe an umleiten, /dev/nullindem Sie > /dev/null 2>&1am Ende der Zeile hinzufügen .

Beispielsweise:

* * * * */5 /path/to/command arguments > /dev/null 2>&1
Nole
quelle