GNU/Linux >> Linux Esercitazione >  >> Linux

Come sapere l'ultima volta che è stata utilizzata un'e-mail?

Ho diverse email sul mio server che vengono utilizzate da alcune persone.

Alcuni sono stati creati anni fa e sospetto non vengano più utilizzati.

Attraverso ftp vedo le cartelle

.Drafts
.Junk
.Sent
.spam
.Trash
cur
new
tmp

e i file

dovecot-acl-list
dovecot-uidvalidity.53836d02
dovecot-uidvalidity
dovecot-keywords
subscriptions
courierimapsubscribed
courierimapacl
dovecot-quota
maildirsize
courierimapuiddb
dovecot.index.thread
dovecot.mailbox.log
dovecot.list.index
dovecot.index
dovecot-uidlist
dovecot.list.index.log
dovecot.index.log
dovecot.index.cache

è la Date Modified di uno di questi file un buon indicatore di quando è stata utilizzata l'ultima volta un'e-mail? Per usato intendo almeno leggere.

Risposta accettata:

Prima un po' di background:le tue caselle di posta sono in formato Maildir. Le cassette postali di Maildir hanno tre sottodirectory, tmp , new e cur . Di questi, tmp viene utilizzato solo per la consegna, new contiene nuovi messaggi e cur leggere i messaggi. Una volta consegnati, i messaggi sono costituiti da file immutabili in new e cur . Un messaggio che cambia stato da "nuovo" a "letto" significa essenzialmente spostare il file corrispondente da new a cur . Vari altri flag per messaggio (O , F , ecc.) vengono registrati con caratteri speciali aggiunti ai nomi dei file. Le cartelle IMAP sono solo sottocartelle di Maildir .Sent , .Draft , ecc. all'interno della Posta in arrivo Maildir.

Supponendo che i tuoi messaggi risiedano in Maildirs /var/mail/<user>/ , questo porta alla seguente euristica:

for mb in /var/mail/*; do
    find "$mb" -type d -name -cur -mtime -365 \
        -exec printf 'user %s is still active\n' $(basename "$mb") \; -quit
done

Questo per lo più funziona, ma può produrre sia falsi positivi che falsi negativi. Falsi positivi perché il server IMAP potrebbe trollarti e aggiornare mtime di cur cartelle durante l'indicizzazione delle cassette postali o durante qualsiasi altra attività periodica. Falsi negativi perché un utente potrebbe semplicemente eliminare la cartella con gli ultimi messaggi.

Un approccio molto più sicuro sarebbe analizzare i log per vedere quando è stata l'ultima volta che i tuoi utenti hanno effettuato l'accesso a SquirrelMail (a condizione che detto scoiattolo sia configurato per mantenere tali log in primo luogo).


Linux
  1. Come trovare l'algoritmo di hashing utilizzato per eseguire l'hashing delle password?

  2. Come accedere all'ultimo argomento di un comando commentato?

  3. Come sapere cosa significa 'errno'?

  4. Come pulire le cache utilizzate dal kernel Linux

  5. Come posso reindirizzare o reindirizzare l'output di curl -v?

Come gioco a Tetris sul mainframe

Come è cresciuto il desktop Linux

Come impostare o modificare il fuso orario in Linux

Come conoscere i gruppi di un utente Linux

Come trovare quando lo Spfile è stato creato su un server Linux

Come faccio a conoscere il nome del file di script in uno script Bash?