Qual è il messaggio "Hai una nuova posta" in Linux / UNIX?


427

A volte, quando accedo a una casella e 'su' su root, ricevo un messaggio carino che dice che ho posta (grazie a DIO non è AOL).

  • Dov'è questa mail?
  • Cosa contiene?
  • Chi / Cosa l'ha inviato?
  • Quanto è importante?

Questa "posta" è vera e propria nello stesso senso dell'email? O è solo il mio sistema a dirmi qualcosa?

EDIT: In relazione a questa domanda, sarei in grado di inviarmi la posta utilizzando il programma sendmail in questo modo email@localhost:?


Ho questo messaggio che dice "Questo testo fa parte del formato interno della tua cartella di posta, ..." quindi ovviamente ogni volta che eseguo l'accesso mi viene comunicato che ho posta.
GEdgar,

1
@GEdgar: questo di solito significa che dovresti smettere di usare le caselle di posta mbox e migrare su Maildir :)
grawity



1
Nel caso in cui qualcuno stia cercando, ecco il powerhshell one-liner per dividerlo in singoli file leggibili da Outlook:$i=0;(gc .\mail\root -raw) -split '[^, ]From '|%{$i++;sc mail$i.eml -value ("From " + $_)}
JDuarteDJ

Risposte:


354

Dov'è questa mail?

È probabile che si trovi nel file di spool: /var/mail/$USERo /var/spool/mail/$USERsono le posizioni più comuni su Linux e BSD.

(Altre posizioni sono possibili - controlla se $MAILè impostato - ma per impostazione predefinita, il sistema ti informa solo /var(/spool)/mail.)

Di solito il file di spooling è in un formato mbox molto semplice , quindi puoi aprirlo in un editor di testo o cercapersone.

Per un modo leggermente più conveniente, la maggior parte delle distribuzioni viene fornita con un programma chiamato mail(o Mail, mailx). Puoi provare mutto alpine; puoi persino configurarlo per l'invio a una casella di posta esterna. (Vedi "è questa vera posta?" Sotto.)

Cosa contiene e chi / cosa lo ha inviato?

Molto spesso i messaggi contengono l'output di cron job o un rapporto sulla sicurezza del sistema tramite logwatch o roba simile. Leggilo e scoprilo.

Quanto è importante?

Dipende molto dal contenuto di ogni messaggio.

Si dovrebbe almeno la scansione delle intestazioni soggetti - spesso le persone ignorano la posta per mesi non rendendosi conto che il loro lavoro quotidiano cron sicuro.

Questa "posta" è vera e propria nello stesso senso dell'email? O è solo il mio sistema a dirmi qualcosa?

Sì a entrambi: è generato dal tuo sistema che ti dice qualcosa, ma è anche una vera e-mail e può essere gestito come tale.

Puoi (e dovresti) configurare il tuo software di posta - il "MTA" aka /usr/sbin/sendmail- per inoltrare i messaggi al tuo indirizzo di posta personale. Le istruzioni esatte variano a seconda dell'MTA (se presente) che hai installato, che si tratti di un personal computer o di un server, che tu abbia il tuo dominio o utilizzi un @ gmail.com e così via.

Nota che al /usr/sbin/sendmailgiorno d'oggi è un'API condivisa e non significa necessariamente l'MTA originale di Sendmail. In effetti, non dovresti usare Sendmail, ma qualcosa di più moderno come OpenSMTPD, Postfix o Exim4. Tutti forniscono lo stesso /usr/sbin/sendmailstrumento, ma sono più facili da configurare, più sicuri e altrettanto potenti.


3
Buona risposta. Se avessi aggiunto collegamenti con informazioni su come configurare OpenSMTPD, Postfix o Exim4 per inoltrare la posta al tuo normale indirizzo e-mail, sarebbe stato ancora meglio.
imolit

1
Ecco una domanda correlata che mostra come impostare mutt : askubuntu.com/a/499335/75735
KalenGi

Bella risposta. Ma come posso mailleggere l'e-mail? La manpage non dice.
jpaugh,

1
Ho visto la mia posta con il comando cat / var / mail / $ USER e l'ho rimossa con il comando rm -rf / var / mail / $ USER.
Sinan Eldem,

@grawity dovrei eliminare i file /var/mail/quando li leggo o semplicemente cancellare il testo al loro interno? grazie!
yaylitzis,

206

Il modo più semplice per me è stato quello di eseguire quanto segue in un terminale:

cat /var/spool/mail/root

5
La migliore risposta pratica finora che effettivamente aggiunge alla conoscenza. Ora posso leggere la posta. Mi chiedo perché sia ​​la risposta più in basso.
CDR,

37
Mi rendo conto che questa è una domanda / risposta piuttosto vecchia, ma questo XKCD è rilevante per la discussione. (suggerimento: hover text)
Blackhawk,

11
O solo less $MAILse vuoi navigare.
Walf,

7
O less +G $MAILper iniziare alla fine.
Charlie Gorichanaz,

4
@Blackhawk E ora ancora di più questo XKCD .
dessert,

57

Per chiunque si chieda come leggere questi messaggi uno per uno, puoi semplicemente usare 'mail'

$ mail

Quindi digitare un numero di messaggio dall'elenco che si desidera leggere.

Per andare al messaggio successivo puoi digitare 'next', un altro comando utile è 'delete' ..

Per ulteriori informazioni sul funzionamento del mailprogramma, vedere l'output di man mail.


3
//, In realtà non funziona, su CEntOS 6. In tal caso, è necessario utilizzare $ mailx.
Nathan Basanese,

6
Su Ubuntu 16.04, devo prima installarmi mailutilseseguendoapt install mailutils
Edwin Yip il

Su istanze di Amazon EC2, puoi installarlo utilizzandosudo yum install mail
JonDoe297 il

1
Funziona per me su macOS
juanmirocks,

39

Giusto per offrire alcuni chiarimenti, è da molto tempo che le scatole UNIX eseguono un demone mailer "configurato localmente" che non instrada i messaggi attraverso Internet, ma copia i messaggi solo nelle directory di spool di altri utenti (come @John T menzionato). È una vera e-mail conforme a SMTP, non viene semplicemente instradata su Internet perché non è necessario.

Quindi, se avvii un client di posta elettronica (come alpineo mutt) puoi inviare posta ad altri utenti sul sistema indirizzando user@hostname, o in molti casi, semplicemente specificando l'utente. Probabilmente hai anche un'utilità della riga di comando chiamata mailxche può essere utilizzata per inviare un'e-mail rapida utilizzando la shell.

Ora, se vuoi inviare messaggi agli utenti su sistemi diversi da quello a cui hai effettuato l'accesso, è lì che inizia il vero divertimento. Dovrai configurare il tuo demone mailer per riconoscere e consegnare la posta elettronica esterna a un agente di trasferimento, configurare l'agente di trasferimento e fare un sacco di cose che ancora non capisco.


24

Dov'è questa mail?

Molto probabilmente memorizzato sul tuo computer, nella cartella delle cassette postali per il tuo utente root (dove Quello dipende dal tipo di server di posta che hai installato). Probabilmente puoi accedervi abbastanza rapidamente attraverso alpine .

Cosa contiene?

Probabilmente solo alcune cose di tipo report di sistema. "Così e così ho provato ad effettuare il login 10 volte con una password errata" .. "Vorrei che qualcuno eseguisse aggiornamenti su di me", "un driver del genere non funziona costantemente", "Il bot NSA ha migliorato le prestazioni dell'1%" .. eccetera..

Chi / Cosa l'ha inviato?

Servizi sul tuo server, molto probabilmente.

Quanto è importante?

Dipende da quanto sia importante il tuo server.


Penso che il suggerimento di John che sia archiviato in / var / spool / mail / root si basi sul presupposto (buono) che stai eseguendo sendmail. Penso che altri server di posta utilizzino posizioni diverse per archiviare la posta.
James T Snell,

C'è un modo per gli utenti di utilizzare il sottosistema di posta?
n0pe

White Phoenix: darò un'occhiata quando la mia posta sarà quando ricevo di nuovo il messaggio :) C'è un modo per attivarlo o è troppo localizzato da una domanda?
n0pe

Se vuoi esplorare eseguendo il tuo server di posta (che le persone usano in un tipico senso di posta elettronica), sarebbe innanzitutto utile sapere quale distro stai eseguendo? Senza queste informazioni, tutto quello che dirò, è che ti suggerisco di leggere su sendmail (poiché probabilmente stai già eseguendo sendmail) ..
James T Snell

La maggior parte di loro esegue AIX, ma mi piacerebbe esplorarlo sulla mia workstation a casa con OpenSuSe
n0pe

14

Questa posta si trova in genere /var/spool/mail/rootquando è configurato il (normale) demone sendmail predefinito. Contiene un messaggio di posta elettronica RAW che può essere letto maildall'utilità. Chi l'ha inviato può essere trovato eseguendo l' mailutilità e sfogliando i messaggi o leggendo le intestazioni RAW.

L'importanza del messaggio di solito dipende dal fattore precedente, che lo ha inviato :)

Molte utility di sistema utilizzeranno il sottosistema di posta come mezzo per la creazione di report e la registrazione. I programmi di utilità di watch log e altri servizi possono inviare un'e-mail all'utente root locale come promemoria di un evento specifico, come spazio su disco insufficiente o errori hardware. Il demone mailer ti avviserà anche se non è stato possibile inviare un'e-mail in uscita.


C'è un modo per vedere come è impostato il mio sottosistema di posta?
n0pe

@Max il sendmail.mcfile controlla la configurazione del demone sendmail sulla maggior parte delle installazioni predefinite. In genere si trova sotto /etc/mail.
John T

@Max Consiglio vivamente di leggere un tutorial come linuxhomenetworking.com/wiki/index.php/… per aiutarti a configurare il demone mailer come desiderato.
John T

Su Ubuntu 16.4., Ho /etc/mail.rcche non è collegato asendmail
Timo

12

less +G /var/spool/mail/root

mostra le ultime mail, alla fine se il file.

Mostrare direttamente il file di posta è una buona idea, ma l'utilizzo catpuò facilmente andare storto. Non si desidera scorrere tutte le e- mail, se ci sono molti messaggi o messaggi molto lunghi nel file. Ne ho appena visto uno con 150 MB, due milioni di linee.

Se non sei root:

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

L' +Gopzione viene utilizzata per mostrare prima il messaggio più recente; Non è nella parte superiore del file, ma alla fine.

È un'opzione di less, facendo in modo che mostri l'ultima pagina del file dopo l'avvio. Che mostra l'ultimo messaggio (il più recente), se si adatta a una pagina, o la fine di quello altrimenti.

Il nome del file potrebbe essere /var/spool/mail/mailinvece di/var/spool/mail/root


//, ripartizione eccellente. Questa risposta sarebbe particolarmente utile per quelle persone che non sanno facilmente cosa fare con il file.
Nathan Basanese,

4
Nel caso qualcuno si stia chiedendo, +G"fa sì che meno visualizzi inizialmente ogni file a partire dalla fine anziché all'inizio." ( linux.die.net/man/1/less )
Sam
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.