Come posso trovare il mio spool di posta locale?


18

Sono uno studente laureato e un novizio Linux relativo. Questa domanda è una sorta di spin-off della mia domanda precedente . La mia istituzione ha un cluster Ubuntu Linux. Sono solo un utente; Non ho i permessi di amministratore di sistema e certamente non ho le competenze per essere un amministratore di sistema!

La mia domanda è: come posso trovare il mio spool di posta locale? Per quanto ne so, non sto usando un agente di trasferimento di posta. Le risposte alla mia precedente domanda mi hanno suggerito di cercare un file /var/spool/mail/$USER, ma sfortunatamente non vedo un file corrispondente al mio nome utente. In /var/spool/mail/, usando lsvedo solo due file: nobodye www-data, che sono entrambi file senza estensione.

Hai altre idee su dove posso cercare il mio spool di posta (che è probabilmente locale, dal momento che non ho un agente di trasferimento di posta configurato, per quanto ne so)?


3
provareecho $MAIL
squareborg,

1
Hai inviato un'email a te stesso? I file delle cassette postali vengono in genere creati su base "secondo necessità".
AnFi,

@Shutupsquare Questo è interessante. Quando scrivo echo $MAIL, ritorna /var/mail/myusername, dov'è il myusernamemio nome utente. Ma quando navigo verso /var/mail/, il file myusernamenon esiste lì.
Andrew,

@ AndrzejA.Filip Oltre all'utilizzo atper inviare un messaggio locale quando un processo pianificato genera output, come posso provare a inviare un messaggio a me stesso? Questo è tutto così nuovo per me.
Andrew,

È possibile utilizzare il seguente comando per inviare e-mail di prova a te stesso: (echo Subject: test; echo) | /usr/sbin/sendmail -i YOUR_LOGIN. Lo stub di Sendmail è fornito anche da altri server MTA (es. Postfix, exim).
AnFi,

Risposte:


20

Gli spool di posta sono in genere qui:

/var/spool/mail/$USER

Dov'è il $USERtuo nome utente. Ad esempio sul mio sistema Fedora Linux:

$ ls -l /var/spool/mail/
total 1908
-rw-------. 1 root root 1943163 Jul 13 12:00 root
-rw-rw----. 1 rpc  mail       0 Dec 18  2010 rpc
-rw-rw----. 1 saml mail     689 Jul 12 19:38 saml

Gli spool di posta tuttavia non sono necessariamente locali. Se non si dispone di questo file, la posta viene mantenuta su un altro server. Puoi interagire con questo server usando protocolli come IMAP o POP3 .

È su questo sistema che viene mantenuto lo spool di posta.

In alcuni ambienti lo spool di posta può essere condiviso come parte della home directory di un utente, spesso in una directory chiamata mail ($HOME/mail). Altre volte può essere condiviso come propria condivisione in qualcosa del genere /mail/users/$USER.

Dipende davvero da come i amministratori di sistema all'interno di un determinato ambiente scelgono di farlo.


2
Nota: se esiste un /var/mail, come nella domanda, potrebbe trattarsi di un collegamento simbolico a /var/spool/mail, come in questa risposta, o viceversa. Almeno, questo è il caso sul mio laptop Ubuntu di casa da System76. La rimozione di file / cartelle da entrambe le directory eliminerebbe presumibilmente il file corrispondente dall'altra directory.
trysis

7

A meno che la macchina non sia configurata in modo errato, il comando mail(o altri programmi di posta come mutt) accederà alla propria casella di posta locale. Di solito la cassetta postale locale è /var/spool/mail/$USERo /var/mail/$USER. Se la cassetta postale si trova in una posizione non standard, l'amministratore di sistema potrebbe aver configurato il sistema per impostare la MAILvariabile di ambiente sulla posizione della cassetta postale.

Se non hai mai ricevuto posta su quella macchina, il file non esisterà. Inviati una mail e il file verrà creato.

Se la posta viene mai recapitata su questa macchina, è in esecuzione un agente di trasferimento della posta . Non interagiresti mai direttamente con l'MTA: è qualcosa che l'amministratore ha impostato.

L'esistenza dei file /var/spool/mail/nobodye /var/spool/mail/www-datamostra che v'è (o era) un MTA in esecuzione e consegna della posta a livello locale. Probabilmente contengono report di cron job.

Sarai in grado di ricevere posta da altre macchine se quella macchina è configurata per ricevere posta. In un ambiente con più computer, è comune configurare un singolo computer per ricevere tutta la posta. Questo è indicato tramite DNS . Se esiste un record MX per un host, indica quale host deve ricevere la posta destinata a tale host. Puoi vedere il record MX con host -t MX $HOSTNAMEo dig MX $HOSTNAME.

Anche se stai ricevendo posta localmente, è possibile che venga reindirizzato a un altro computer. Controlla se hai un file chiamato .forwardnella tua home directory: contiene un indirizzo email a cui reindirizzare la tua posta, o qualche altra direttiva che dice all'MTA cosa fare quando ricevi la posta. Puoi anche avere un .procmailrcfile se l'MTA è configurato per usare procmail per recapitare la posta, il che è abbastanza comune.


6

Dovresti trovarlo in /var/spool/mail/(la posizione tradizionale) o /var/mail(nuova posizione consigliata). Si noti che uno può essere un collegamento simbolico all'altro, quindi è meglio andare a quello che è una directory reale (e non solo un collegamento). Qui dovresti trovare un file chiamato lo stesso del tuo nome utente, cioè la tua casella di posta. Dovrebbe essere di tua proprietà, quindi dovresti riuscire a farne una copia.


Purtroppo, /var/spool/mail/e /var/mail/hanno ciascuno solo due file: nobodye www-data, nessuno dei quali sono il mio nome utente. Grazie per il tuo tempo.
Andrew,

@Andrew - la mancanza del tuo nome utente in queste directory ti dice solo che non c'è stata posta recapitata localmente su quel particolare sistema.
slm
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.