2011-07-04 15:23:42 +0000 2011-07-04 15:23:42 +0000
446
446

Cos'è il messaggio "Hai una nuova mail" in Linux/UNIX?

A volte, quando faccio il login in una casella e ‘su’ per root, ricevo un piccolo messaggio carino che dice che ho della posta (grazie a Dio non è AOL).

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

È una vera e propria “mail” nello stesso senso della posta elettronica? O è solo il mio sistema che mi dice qualcosa?

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

Risposte (7)

367
367
367
2011-07-04 16:30:34 +0000

Dov'è questa mail?

È probabile che sia nel file di spool: /var/mail/$USER o /var/spool/mail/$USER sono le posizioni più comuni su Linux e BSD.

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

Di solito il file di spool è in un formato mbox molto semplice, in modo da poterlo aprire in un editor di testo o in un pager.

Per un modo un po’ più comodo, la maggior parte delle distribuzioni è fornita con un programma chiamato mail (o Mail, mailx). Potete provare mutt o alpine; potete anche configurarlo per essere inviato ad una mailbox esterna. (Vedi “è questa vera posta?” qui sotto)

Cosa contiene e chi/cosa l'ha inviata?

Il più delle volte i messaggi contengono l'output di lavori di cron, o un rapporto sulla sicurezza del sistema di logwatch, o robaccia simile. Leggetelo e scopritelo.

Quanto è importante?

Dipende molto dal contenuto di ogni messaggio.

Si dovrebbe almeno scansionare le intestazioni dell'oggetto - spesso le persone ignorano la posta per mesi senza mai rendersi conto che i loro job di cron giornalieri falliscono.

Questa è una vera e propria “posta” nello stesso senso dell'email? O è solo il mio sistema che mi dice qualcosa?

Sì ad entrambi - è generata dal vostro sistema che vi dice qualcosa, ma è anche una vera e propria email e può essere gestita come tale.

Potete (e dovreste) configurare il vostro software di posta - il “MTA” aka /usr/sbin/sendmail - per inoltrare i messaggi al vostro indirizzo di posta personale. Le istruzioni esatte variano a seconda dell'MTA (se presente) che avete installato, se si tratta di un personal computer o di un server, se avete un vostro dominio o utilizzate un @gmail.com, e così via.

Si noti che /usr/sbin/sendmail al giorno d'oggi è un'API condivisa e non significa necessariamente_ l'MTA originale di Sendmail. Infatti, non si dovrebbe usare Sendmail, ma qualcosa di più moderno come OpenSMTPD, Postfix, o Exim4. Tutti forniscono lo stesso strumento /usr/sbin/sendmail, ma sono più facili da configurare, più sicuri e altrettanto potenti.

219
219
219
2011-11-25 11:46:45 +0000

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

cat /var/spool/mail/root
64
64
64
2014-08-30 19:47:07 +0000

Per chiunque si chieda come leggere questi messaggi uno per uno, basta usare ‘mail’

$ mail
``` &001 


Poi digitare un numero di messaggio dalla lista che si vuole leggere. 


Per passare al messaggio successivo si può digitare 'next', un altro comando utile è 'delete'... 


Per saperne di più su come funziona il programma `mail`, vedere l'output di `man mail`.
41
41
41
2011-07-04 16:31:21 +0000

Giusto per offrire qualche chiarimento, è stata la tradizione per molto tempo che le caselle UNIX eseguano un demone mailer “configurato localmente” che non instrada i messaggi attraverso Internet, ma che copia i messaggi solo nelle directory di spool di altri utenti (come ha detto @John T). Si tratta di una vera e propria email compatibile con SMTP, solo che non viene instradata su Internet perché non è necessario che lo sia.

Quindi, se si avvia un client di posta elettronica (come alpine o mutt) si può inviare la posta ad altri utenti del sistema indirizzandola a user@hostname, o in molti casi, semplicemente specificando l'utente. Probabilmente avete anche una utility a riga di comando chiamata mailx che può essere usata per inviare una email veloce usando la vostra shell.

Ora, se volete inviare messaggi ad utenti su sistemi diversi da quello a cui siete connessi, è qui che inizia il vero divertimento. Dovrete configurare il vostro demone mailer per riconoscere e consegnare e-mail esterne a un agente di trasferimento, configurare l'agente di trasferimento e fare un sacco di cose che io stesso non capisco ancora.

26
26
26
2011-07-04 15:29:18 +0000

Dove si trova questa mail?

Molto probabilmente memorizzata sulla vostra macchina, nella cartella della mailbox per il vostro utente root (dove QUESTO dipende dal tipo di server di posta che avete installato). Probabilmente puoi accedervi abbastanza velocemente attraverso alpine.

Che cosa contiene?

Probabilmente solo qualche tipo di report di sistema. “Ho provato a fare il login 10 volte con una password errata… "Vorrei che qualcuno mi aggiornasse”, “il driver non funziona costantemente”, “Il bot NSA ha aumentato le prestazioni dell'1%”… ecc…

Chi/Cosa l'ha inviato?

Servizi sul vostro server, molto probabilmente.

Quanto è importante?

Dipende da quanto è importante il vostro server.

14
14
14
2011-07-04 15:28:29 +0000

Questa mail si trova tipicamente in /var/spool/mail/root quando il (solito) demone sendmail di default è configurato. Contiene un messaggio di posta elettronica RAW che può essere letto dall'utility mail. Chi l'ha inviato può essere trovato eseguendo l'utility mail e paging attraverso i messaggi o leggendo le intestazioni RAW.

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

Molte utility di sistema utilizzeranno il sottosistema di posta elettronica come mezzo di reporting e di registrazione. Le utilità di log watcher e altri servizi possono inviare una e-mail all'utente root locale come promemoria di un evento specifico, come ad esempio uno spazio su disco ridotto o errori hardware. Il demone mailer vi avviserà anche se non è riuscito ad inviare una e-mail in uscita.

12
12
12
2014-09-03 00:16:39 +0000

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 di cat può facilmente andare storto. Non si desidera che tutte le mail scorrano, se ci sono molti messaggi, o messaggi molto lunghi nel file. Ne ho appena visto uno con 150MB, due milioni di righe.

Se non sei root:

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

L'opzione +G viene usata per mostrare prima il messaggio più recente; non è in cima al file, ma alla fine.

È un'opzione di less, che gli fa mostrare l'ultima pagina del file dopo l'inizio. Che mostra l'ultimo messaggio (il più recente), se si adatta ad una pagina, o la fine di quella altrimenti.

Il nome del file può essere /var/spool/mail/mail invece di /var/spool/mail/root