Meldung "Sie haben E-Mail" im Terminal, OS X [geschlossen]

170

Vor ein paar Tagen habe ich diese Nachricht in meinem Terminalfenster erhalten: Geben Sie hier die Bildbeschreibung ein

Was bedeutet das? Das habe ich noch nie gesehen.

Das waren Nachrichten von xCode-Bots.

Bots

Danke für die Hilfe.

Oleg Sobolev
quelle
11
Führen mailSie Ihre Mail aus und lesen Sie sie.
Blender
Zum einen habe ich keine ungelesenen Mails. Zum zweiten - warum erschien diese Zeichenfolge jetzt? Ich habe sie noch nie gesehen.
Oleg Sobolev
2
Diese Frage scheint nicht zum Thema zu gehören, da sie besser für apple.stackexchange.com
Monolo

Antworten:

60

Wahrscheinlich ist es eine Nachricht von Ihrem System.

Terminal eingeben:

man mail

und sehen Sie, wie Sie diese Nachricht von Ihrem System erhalten können.

Evelin Amorim
quelle
Welche E-Mail-Adresse verwendet das?
AbhimanyuAryan
4
und geben Sie dann "d *" ein, um alle Nachrichten zu löschen
Ricardo Martins
9
Das versehentliche Entleeren der /var/mail/<your-username>E-Mail-Ankunft (die noch ungelesen ist) kann You have mailjedes Mal ausgelöst werden, wenn Sie einen neuen Tab im Terminal öffnen (was mir einmal passiert ist). Um dieses Problem zu lösen, muss die Datei entfernt werden (dh sudo rm /var/mail/<your-username>).
Muntashir Akon
4
Dies beantwortet die Frage nicht.
Minatverma
272

Ich hatte auch die Ausgabe "Sie haben E-Mail", die jedes Mal auftauchte, wenn ich Terminal startete.

Was ich entdeckt habe, ist dies.

Etwas, das ich installiert hatte (nicht ganz sicher, was, aber möglicherweise ein Skript oder etwas, das mit einem Alfred-Workflow verbunden ist), änderte das OS X-System, um Terminal-Bash-Benachrichtigungen anzuzeigen. Zuvor hatte Wordpress anscheinend versucht, das lokale Mail-System zum Senden einer Nachricht zu verwenden. Die Nachricht wurde zurückgeschickt, da sie eine ungültige Empfängeradresse hatte. Die zurückgesendete Nachricht landete dann im Posteingang des lokalen Systems. Also hat Terminal (bash) mich dann benachrichtigt, dass "Sie Mail haben".

Sie können auf die E-Mail zugreifen, indem Sie einfach den Befehl verwenden

mail

Dadurch werden Sie in Mail gestartet und es wird Ihnen sofort eine Liste der dort gespeicherten Nachrichten angezeigt. Wenn Sie den Inhalt der ersten Nachricht anzeigen möchten, verwenden Sie

t

Dies zeigt Ihnen den Inhalt der ersten Nachricht vollständig. Sie müssen durch die Nachricht nach unten scrollen, um alles anzuzeigen, indem Sie auf klickendown-arrow Taste drücken.

Wenn Sie zum Ende der Nachricht springen möchten, verwenden Sie die

spacebar

Wenn Sie das Anzeigen der Nachricht abbrechen möchten, verwenden Sie

q 

Verwenden Sie zum Anzeigen der nächsten Nachricht in der Warteschlange

n

... vorausgesetzt, es gibt mehr als eine Nachricht.

HINWEIS: Sie müssen diese Befehle an der Mail- ?Eingabeaufforderung verwenden. Sie funktionieren nicht, während Sie gerade eine Nachricht anzeigen. Wenn Sie nwährend der Anzeige einer Nachricht drücken, wird nur eine Fehlermeldung in Bezug auf reguläre Ausdrücke angezeigt. Wenn Sie also gerade eine Nachricht anzeigen q, drücken Sie , um diese zu beenden, oder drücken Sie spacebar, um zum Ende der Nachricht zu springen, und ?drücken Sie dann an der Eingabeaufforderungn .

Wenn Sie den Inhalt der Nachrichten auf diese Weise anzeigen, können Sie möglicherweise feststellen, was versucht hat, die Nachricht (en) zu senden.

Sie können eine bestimmte Nachricht auch anzeigen, indem Sie einfach ihre Nummer an der ?Eingabeaufforderung eingeben .3zeigt Ihnen beispielsweise den Inhalt der dritten Nachricht (wenn dort so viele sind).

Verwenden Sie den Befehl (an der ?Eingabeaufforderung)

d [message number]

So löschen Sie jede Nachricht, wenn Sie fertig sind. d 2Löscht beispielsweise die Nachrichtennummer 2. Oder Sie können eine Liste von Nachrichten löschen, z d 1 2 5 7. Sie sehen die Nachrichtennummern in der Liste der Nachrichten, die Ihnen die E-Mail zeigt.

?Verwenden Sie den Befehl, um alle Nachrichten an der E-Mail-Eingabeaufforderung ( ) zu löschen d *.

Gemäß einem Kommentar zu diesem Beitrag müssen Sie qE-Mails beenden, wodurch auch alle Änderungen gespeichert werden.

Wenn Sie alle E-Mails in einer Ausgabe sehen möchten, verwenden Sie diesen Befehl an der Bash-Eingabeaufforderung (dh nicht innerhalb der E-Mail, sondern an Ihrer regulären Eingabeaufforderung):

cat /var/mail/<username>

Wenn Sie die E-Mails mit einem Schlag löschen möchten, verwenden Sie diesen Befehl

sudo rm /var/mail/<username>

In meinem speziellen Fall gab es eine Reihe von Nachrichten. Es sieht so aus, als wäre es eine zurückgegebene Nachricht, die abprallte. Es wurde von einer lokalen Wordpress-Installation gesendet. Es war eine Benachrichtigung, wenn der Benutzer "Admin" (ich) sein Passwort geändert hat. Zwei zusätzliche Nachrichten waren da. Beide schienen auf den gleichen Vorfall zurückzuführen zu sein.

Was ich nicht weiß und auch nicht für Sie antworten kann, ist, WARUM ich diese E-Mail-Benachrichtigung erst kürzlich bei jedem Öffnen des Terminals gesehen habe. Die Mails wurden vor ein paar Monaten erstellt, und dennoch habe ich erst in den letzten Wochen bemerkt, dass "Sie haben Mail" angezeigt wird. Ich vermute, es ist das Ergebnis eines Workflows, den ich in Alfred installiert habe, und dieses Workflows, bei dem Terminal Bash verwendet wird, um Benachrichtigungen bereitzustellen ... oder etwas in dieser Richtung.

Nachrichten einfach löschen

Wenn Sie kein Interesse daran haben, die Quelle der Nachrichten zu bestimmen, und diese nur entfernen möchten, ist dies möglicherweise einfacher, ohne den mailBefehl zu verwenden (was etwas umständlich sein kann). Wie von einigen anderen Personen hervorgehoben, können Sie stattdessen diesen Befehl verwenden:

sudo rm /var/mail/YOURUSERNAME
inspiriert
quelle
12
Beachten Sie, dass Sie q verwenden müssen , um die
beenden und
Die Befehle 'n' und 'd' nach der Verwendung von 't' zum Anzeigen der ersten Nachricht funktionieren nicht so, wie Sie es für mich beschrieben haben. 'd' scheint nur zu scrollen, und 'n' hat etwas mit regulären Ausdrücken zu tun.
Nathan Hornby
@NathanHornby Sie müssen diesen Befehl verwenden, sobald Sie wieder an der ?Eingabeaufforderung sind. tSie erhalten eine vollständige Anzeige der ersten Nachricht mit einer :Eingabeaufforderung, wenn die Nachricht eine bestimmte Ausgabemenge überschreitet. Wenn Sie eine Taste drücken, werden weiterhin mehr Nachrichten usw. angezeigt, bis Sie das Ende gelesen haben. Oder Sie können mit Ihrer Maus / Ihrem Touchpad scrollen. Möglicherweise können Sie drücken q, um das Anzeigen der Nachricht abzubrechen (ich kann das gerade nicht testen, aber versuchen Sie es). Um alle Nachrichten zu löschen, verwenden Sie den Befehl d *. Zum Löschen der zweiten Nachricht würden Sie verwenden d 2und so weiter. Verwenden Sie sie an der Mail- ?Eingabeaufforderung.
inspiriert
1
Einfach und effektiv, danke.
Chrstph SLN
1
Sie können auch eine Reihe von Nachrichten löschen, zum Beispiel:d 1-15
Jay Shepherd
55

Wenn Sie nicht mühsam arbeiten möchten mail, können Sie die Mail mit lesen

cat /var/mail/<username>

und löschen Sie die Mail mit

sudo rm /var/mail/<username>
kba
quelle
Kannst du mir sagen, welche E-Mail-Adresse in / var / mail / registriert ist? Wie würde ich das überprüfen?
AbhimanyuAryan
@ androidplusios.design Die E-Mail-Adresse ist Ihr Benutzername im System. Die E-Mails werden vom System an Sie gesendet. Sie können auch ein Alias ​​für andere Benutzer im System sein und somit deren E-Mails erhalten. Siehe /etc/aliases. Weitere Informationen finden Sie unter Was ist die Meldung "Sie haben neue E-Mails" unter Linux / UNIX? .
kba
Dies war die einzige Antwort hier, die tatsächlich für mich funktioniert hat, Prost!
Nathan Hornby
10

Dies bedeutet, dass ein von Ihnen erstellter Prozess oder ein Skript E-Mails an ein Konto auf Ihrem lokalen Computer sendet (z. B. einen Mailserver, der in der localhost-Anwendung ausgeführt wird).

Verwalten Sie diese Mail mit den folgenden Befehlen:

t <message list>        type messages
n                       goto and type next message
e <message list>        edit messages
f <message list>        give head lines of messages
d <message list>        delete messages
s <message list>        file append messages to file
u <message list>        undelete messages
R <message list>        reply to message senders
r <message list>        reply to message senders and all recipients
pre <message list>      make messages go back to /var/mail
m <user list>           mail to specific users
q                       quit, saving unresolved messages in mbox
x                       quit, do not remove system mailbox
h                       print out active message headers
!                       shell escape
cd [directory]          chdir to directory or home if none given

A besteht aus Ganzzahlen, Bereichen desselben oder durch Leerzeichen getrennten Benutzernamen. Wenn nicht angegeben, verwendet Mail die zuletzt eingegebene Nachricht.

A besteht aus Benutzernamen oder Aliasnamen, die durch Leerzeichen getrennt sind. Aliase werden in .mailrc in Ihrem Home-Verzeichnis definiert.

Verrenken
quelle
10

Wie inspiriertes Leben erklärt hat , können Sie mithilfe von Befehlen herausfinden, was passiert mail.

Wenn Sie nicht mehrere nicht verwandte / automatisch generierte Nachrichten einzeln löschen möchten (wie ich), führen Sie einfach den folgenden Befehl aus, um alle Nachrichten zu entfernen:

echo -n > /var/mail/yourusername
edigu
quelle