Messaggio "Hai posta" nel terminale, os X [chiuso]


170

Pochi giorni fa ho ricevuto questo messaggio nella finestra del mio terminale: inserisci qui la descrizione dell'immagine

Cosa significa? Non l'ho mai visto prima.

Erano messaggi dai bot xCode.

bots

Grazie per l'aiuto.


11
Esegui maile leggi la tua posta.
Blender

Per prima cosa, non ho mail non lette. Per il secondo, perché questa stringa è apparsa ora? Non l'ho mai vista prima.
Oleg Sobolev

2
Questa domanda sembra fuori tema perché è più adatta per apple.stackexchange.com
Monolo

Risposte:


60

Probabilmente è un messaggio dal tuo sistema.

Digitare il terminale:

man mail

e vedi come puoi ottenere questo messaggio dal tuo sistema.


quale indirizzo email sta usando?
AbhimanyuAryan,

4
e quindi digita "d *" per cancellare tutti i messaggi
Ricardo Martins

9
Lo svuotamento accidentale di /var/mail/<your-username>una posta all'arrivo (che è ancora non letto) può attivarsi You have mailogni volta che apri una nuova scheda nel Terminale (che mi è successo una volta). Per risolvere questo problema, è necessario rimuovere il file (ad es. sudo rm /var/mail/<your-username>).
Muntashir Akon,

4
Questo non risponde alla domanda.
minatverma,

272

Avevo anche questo problema di "Hai posta" che si presentava ogni volta che ho avviato Terminal.

Quello che ho scoperto è questo.

Qualcosa che avevo installato (non del tutto sicuro di cosa, ma probabilmente uno script o qualcosa associato a un Alfred Workflow [a supposizione]) ha apportato una modifica al sistema OS X per iniziare a presentare le notifiche di Terminal Bash. Prima di ciò, sembra che Wordpress avesse tentato di utilizzare il sistema di posta locale per inviare un messaggio. Il messaggio è stato rimbalzato, poiché aveva un indirizzo del destinatario non valido. Il messaggio rimbalzato è quindi finito nella posta in arrivo del sistema locale. Quindi il Terminale (bash) mi stava quindi avvisando che "Hai posta".

Puoi accedere alla posta semplicemente usando il comando

mail

Questo ti lancia in Mail e ti mostrerà subito un elenco di messaggi che sono memorizzati lì. Se vuoi vedere il contenuto del primo messaggio, usa

t

Questo ti mostrerà il contenuto del primo messaggio, per intero. Dovrai scorrere il messaggio verso il basso per visualizzarlo tutto, premendo il tastodown-arrow tasto.

Se vuoi saltare alla fine del messaggio, usa il

spacebar

Se si desidera interrompere la visualizzazione del messaggio, utilizzare

q 

Per visualizzare il messaggio successivo nella coda, utilizzare

n

... supponendo che ci sia più di un messaggio.

NOTA: è necessario utilizzare questi comandi al ?prompt dei comandi di posta . Non funzioneranno mentre stai visualizzando un messaggio. Colpire nmentre si visualizza un messaggio causerà solo un messaggio di errore relativo alle espressioni regolari. Quindi, se nel mezzo della visualizzazione di un messaggio, premi qper uscire da quello, o premi spacebarper saltare alla fine del messaggio, quindi al ?prompt, premi n.

La visualizzazione del contenuto dei messaggi in questo modo può aiutarti a identificare cosa ha tentato di inviare i messaggi.

Puoi anche visualizzare un messaggio specifico inserendo semplicemente il suo numero al ?prompt. 3, ad esempio, ti mostrerà il contenuto del terzo messaggio (se ce ne sono così tanti).

Usa il comando (al ?prompt dei comandi)

d [message number]

Per eliminare ogni messaggio quando hai finito di guardarli. Ad esempio, d 2eliminerà il messaggio numero 2. Oppure è possibile eliminare un elenco di messaggi, ad esempio d 1 2 5 7. Vedrai i numeri dei messaggi nell'elenco dei messaggi mostrati dalla posta.

Per eliminare tutti i messaggi, dal prompt di posta ( ?) utilizzare il comando d *.

Come per un commento su questo post, dovrai utilizzare qper uscire dalla posta, che salva anche eventuali modifiche.

Se vuoi vedere la posta tutta in un output, usa questo comando al prompt di bash (cioè non dall'interno della posta, ma dal tuo normale prompt dei comandi):

cat /var/mail/<username>

E, se desideri eliminare tutte le e-mail in un colpo solo, usa questo comando

sudo rm /var/mail/<username>

Nel mio caso particolare, c'erano diversi messaggi. Sembra che quello sia stato un messaggio restituito che è rimbalzato. È stato inviato da un'installazione locale di Wordpress. Era una notifica per quando l'utente "Admin" (me) ha cambiato la sua password. Due messaggi aggiuntivi dove c'è. Entrambi sembravano essere allo stesso incidente.

Quello che non so e che non posso rispondere neanche per te è PERCHÉ ho iniziato a vedere questa notifica di posta solo di recente ogni volta che apro Terminal. Le mail sono state generate un paio di mesi fa, eppure ho notato che questo "hai posta" è comparso nelle ultime settimane. Sospetto sia il risultato di qualcosa di un flusso di lavoro che ho installato in Alfred e di quel flusso di lavoro che utilizza Terminal bash per fornire notifiche ... o qualcosa del genere.

Semplicemente eliminando i messaggi

Se non hai interesse a determinare l'origine dei messaggi e desideri semplicemente sbarazzartene, potrebbe essere più facile farlo senza usare il mailcomando (che può essere un po 'complicato). Come sottolineato da poche altre persone, puoi invece utilizzare questo comando:

sudo rm /var/mail/YOURUSERNAME

12
Nota che dovrai usare q per uscire dalla posta per salvare le modifiche sul disco
storm_m2138

I comandi 'n' e 'd' che seguono usando 't' per visualizzare il primo messaggio non funzionano come mi descrivi. 'd' sembra scorrere e 'n' ha qualcosa a che fare con le espressioni regolari.
Nathan Hornby,

@NathanHornby Dovrai usare quel comando una volta tornato al ?prompt dei comandi. tti darà una lettura completa del primo messaggio, con un :prompt se il messaggio trabocca una certa quantità di output. Se si preme un tasto qualsiasi, continuerà a visualizzare più messaggi, ecc., Fino a quando non si legge la fine. Oppure puoi scorrere con il mouse / touchpad. Potresti essere in grado di premere qper interrompere la visualizzazione del messaggio (non posso provarlo proprio ora, ma provalo). Per eliminare tutti i messaggi, dovresti usare il comando d *. Per eliminare il secondo messaggio, è necessario utilizzare d 2e così via. Usali al ?prompt della posta .
inspirednz,

1
Semplice ed efficace, grazie.
Chrstph SLN,

1
Puoi anche eliminare una serie di messaggi, ad esempio:d 1-15
Jay Shepherd

55

Se non vuoi il fastidio di usare mail, puoi leggere la posta con

cat /var/mail/<username>

ed elimina la posta con

sudo rm /var/mail/<username>

puoi dirmi quale indirizzo e-mail è registrato in / var / mail / Come lo controllo?
AbhimanyuAryan,

@ androidplusios.design L'indirizzo email è il tuo nome utente sul sistema. Le e-mail sono quelle inviate dal sistema. Potresti anche essere un alias per altri utenti del sistema e quindi ricevere le loro e-mail. Vedere /etc/aliases. Per ulteriori informazioni, consulta Qual è il messaggio "Hai una nuova posta" in Linux / UNIX? .
kba,

Questa è stata l'unica risposta che ha funzionato per me, evviva!
Nathan Hornby,

10

Significa che un processo o uno script che hai creato sta inviando posta a un account sul tuo computer locale (ad esempio un server di posta in esecuzione sull'applicazione localhost).

Gestisci questa posta con questi comandi:

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 è composto da numeri interi, intervalli uguali o nomi utente separati da spazi. Se omesso, Mail utilizza l'ultimo messaggio digitato.

A è composto da nomi utente o alias separati da spazi. Gli alias sono definiti in .mailrc nella tua home directory.


10

Come ha spiegato inspirlife , puoi capire cosa sta succedendo usando il mailcomando.

Se non vuoi eliminare un gruppo di messaggi non correlati / generati automaticamente uno per uno (come me), esegui semplicemente il comando seguente per eliminare tutti i messaggi:

echo -n > /var/mail/yourusername
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.