Message "Vous avez du courrier" dans le terminal, os X [fermé]


170

Il y a quelques jours, j'ai reçu ce message dans la fenêtre de mon terminal: entrez la description de l'image ici

Qu'est-ce que ça veut dire? Je n'ai jamais vu ça auparavant.

C'était les messages des bots xCode.

bots

Merci pour l'aide.


11
Exécutez mailet lisez votre courrier.
Blender

Pour la première - je n'ai pas de mails non lus. Pour la seconde - pourquoi cette chaîne est-elle apparue maintenant? Je ne l'ai jamais vue auparavant.
Oleg Sobolev

2
Cette question semble être hors-sujet car elle convient mieux à apple.stackexchange.com
Monolo

Réponses:


60

C'est probablement un message de votre système.

Tapez le terminal:

man mail

, et voyez comment pouvez-vous obtenir ce message de votre système.


quelle adresse e-mail utilise-t-il?
AbhimanyuAryan

4
puis tapez "d *" pour effacer tous les messages
Ricardo Martins

9
Vider accidentellement le /var/mail/<your-username>à l'arrivée d'un courrier (qui n'est toujours pas lu) peut se déclencher à You have mailchaque fois que vous ouvrez un nouvel onglet dans Terminal (ce qui m'est arrivé une fois). Pour résoudre ce problème, le fichier doit être supprimé (c.-à-d. sudo rm /var/mail/<your-username>).
Muntashir Akon

4
Cela ne répond pas à la question.
minatverma

272

J'avais également ce problème de "Vous avez du courrier" à chaque fois que je démarrais Terminal.

Voici ce que j'ai découvert.

Quelque chose que j'avais installé (pas tout à fait sûr de quoi, mais peut-être un script ou quelque chose associé à un flux de travail Alfred [à une supposition]) a modifié le système OS X pour commencer à présenter les notifications de terminal bash. Avant cela, il semble que Wordpress ait tenté d'utiliser le système de messagerie local pour envoyer un message. Le message a rebondi, car il avait une adresse de destinataire non valide. Le message renvoyé s'est ensuite retrouvé dans la boîte de réception du système local. Alors Terminal (bash) m'avertissait que "Vous avez du courrier".

Vous pouvez accéder au courrier en utilisant simplement la commande

mail

Cela vous lance dans Mail et vous montrera immédiatement une liste des messages qui y sont stockés. Si vous voulez voir le contenu du premier message, utilisez

t

Cela vous montrera le contenu du premier message, dans son intégralité. Vous devrez faire défiler le message pour tout voir, en appuyant sur la down-arrowtouche.

Si vous souhaitez passer à la fin du message, utilisez le

spacebar

Si vous souhaitez interrompre l'affichage du message, utilisez

q 

Pour afficher le message suivant dans la file d'attente, utilisez

n

... en supposant qu'il y ait plus d'un message.

REMARQUE: vous devez utiliser ces commandes à l' ?invite de commande de messagerie . Ils ne fonctionneront pas pendant que vous visualisez un message. Frapper nlors de la visualisation d'un message provoquera simplement un message d'erreur lié aux expressions régulières. Donc, si au milieu de l'affichage d'un message, appuyez sur qpour quitter, ou appuyez sur spacebarpour sauter à la fin du message, puis à l' ?invite, appuyez sur n.

L'affichage du contenu des messages de cette manière peut vous aider à identifier ce qui a tenté d'envoyer le (s) message (s).

Vous pouvez également afficher un message spécifique en saisissant simplement son numéro à l' ?invite. 3, par exemple, vous montrera le contenu du troisième message (s'il y en a autant).

Utilisez la commande (à l' ?invite de commande)

d [message number]

Pour supprimer chaque message lorsque vous avez terminé de les consulter. Par exemple, d 2supprimera le message numéro 2. Ou vous pouvez supprimer une liste de messages, tels que d 1 2 5 7. Vous verrez les numéros de message dans la liste des messages que le courrier électronique vous montre.

Pour supprimer tous les messages, à partir de l'invite de messagerie ( ?), utilisez la commande d *.

Selon un commentaire sur cet article, vous devrez utiliser qpour quitter le courrier, ce qui enregistre également les modifications.

Si vous souhaitez voir le courrier dans une seule sortie, utilisez cette commande à l'invite bash (c'est-à-dire pas depuis le courrier, mais depuis votre invite de commande habituelle):

cat /var/mail/<username>

Et, si vous souhaitez supprimer les e-mails en un seul coup, utilisez cette commande

sudo rm /var/mail/<username>

Dans mon cas particulier, il y avait un certain nombre de messages. Il semble que celui-ci soit un message renvoyé qui a rebondi. Il a été envoyé par une installation Wordpress locale. C'était une notification quand l'utilisateur "Admin" (moi) a changé son mot de passe. Deux messages supplémentaires là où il y a. Les deux semblaient être au même incident.

Ce que je ne sais pas, et je ne peux pas non plus répondre à votre place, c'est POURQUOI je n'ai commencé à voir cette notification par e-mail que récemment à chaque fois que j'ouvre Terminal. Les mails ont été générés il y a quelques mois, et pourtant je n'ai remarqué que ce "vous avez du courrier" apparaissant ces dernières semaines. Je soupçonne que c'est le résultat de quelque chose d'un flux de travail que j'ai installé dans Alfred, et de ce flux de travail utilisant Terminal bash pour fournir des notifications ... ou quelque chose du genre.

Supprimer simplement les messages

Si vous n'avez aucun intérêt à déterminer la source des messages et que vous souhaitez simplement vous en débarrasser, il peut être plus facile de le faire sans utiliser la mailcommande (ce qui peut être un peu fastidieux). Comme indiqué par quelques autres personnes, vous pouvez utiliser cette commande à la place:

sudo rm /var/mail/YOURUSERNAME

12
Notez que vous devrez utiliser q pour quitter le courrier pour enregistrer les modifications sur le disque
storm_m2138

Les commandes 'n' et 'd' qui suivent l'utilisation de 't' pour afficher le premier message ne fonctionnent pas comme vous me le décrivez. «d» semble juste défiler, et «n» a quelque chose à voir avec les expressions régulières.
Nathan Hornby

@NathanHornby Vous devrez utiliser cette commande une fois de retour à l' ?invite de commande. tvous donnera une lecture complète du premier message, avec une :invite si le message dépasse une certaine quantité de sortie. Si vous appuyez sur n'importe quelle touche, celle-ci continuera d'afficher davantage le message, etc., jusqu'à ce que vous en lisiez la fin. Ou vous pouvez faire défiler avec votre souris / pavé tactile. Vous pourrez peut-être appuyer sur qpour annuler l'affichage du message (je ne peux pas le tester pour le moment, mais essayez-le) .Pour supprimer tous les messages, vous utiliseriez la commande d *. Pour supprimer le deuxième message, vous utiliseriez d 2, et ainsi de suite. Utilisez-les à l' ?invite du courrier .
inspirednz

1
Simple et efficace, merci.
Chrstph SLN

1
Vous pouvez également supprimer une plage de messages, par exemple:d 1-15
Jay Shepherd

55

Si vous ne voulez pas les tracas de l'utilisation mail, vous pouvez lire le courrier avec

cat /var/mail/<username>

et supprimez l'e-mail avec

sudo rm /var/mail/<username>

pouvez-vous me dire quelle adresse e-mail est enregistrée dans / var / mail / Comment puis-je la vérifier?
AbhimanyuAryan

@ androidplusios.design L'adresse e-mail est votre nom d'utilisateur sur le système. Les e-mails sont ceux qui vous sont envoyés par le système. Vous pouvez également être un alias pour d'autres utilisateurs du système et ainsi recevoir leurs e-mails. Voir /etc/aliases. Pour plus d'informations, consultez Qu'est-ce que le message «Vous avez un nouveau courrier» sous Linux / UNIX? .
kba

C'était la seule réponse ici qui a vraiment fonctionné pour moi, bravo!
Nathan Hornby

10

Cela signifie qu'un processus ou un script que vous avez créé envoie du courrier à un compte sur votre ordinateur local (par exemple, un serveur de messagerie s'exécutant sur une application localhost).

Gérez ce courrier avec ces commandes:

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 se compose d'entiers, de plages identiques ou de noms d'utilisateurs séparés par des espaces. En cas d'omission, Mail utilise le dernier message saisi.

A se compose de noms d'utilisateurs ou d'alias séparés par des espaces. Les alias sont définis dans .mailrc dans votre répertoire personnel.


10

Comme l'a expliqué inspiredlife , vous pouvez comprendre ce qui se passe en utilisant la mailcommande.

Si vous ne souhaitez pas supprimer un par un des messages non liés / générés automatiquement (comme moi), exécutez simplement la commande ci-dessous pour vous débarrasser de tous les messages:

echo -n > /var/mail/yourusername
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.