GNU/Linux >> Tutoriels Linux >  >> Linux

Comment savoir la dernière fois qu'un e-mail a été utilisé ?

J'ai plusieurs e-mails sur mon serveur qui sont utilisés par certaines personnes.

Certains ont été créés il y a des années et je suppose qu'ils ne sont plus utilisés.

Par ftp, je vois les dossiers

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

et les fichiers

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

est la Date Modified de l'un de ces fichiers est-il un bon indicateur de la dernière utilisation d'un e-mail ? Par utilisé, je veux dire au moins lu.

Réponse acceptée :

Un peu de contexte d'abord :vos boîtes aux lettres sont au format Maildir. Les boîtes aux lettres Maildir ont trois sous-répertoires, tmp , new , et cur . Parmi ceux-ci, tmp est utilisé uniquement pour la livraison, new contient de nouveaux messages, et cur lire les messages. Une fois livrés, les messages sont constitués de fichiers immuables dans new et cur . Un message changeant l'état de "nouveau" à "lu" signifie essentiellement déplacer le fichier correspondant de new à cur . Divers autres drapeaux par message (O , F , etc.) sont enregistrés avec des caractères spéciaux ajoutés aux noms de fichiers. Les dossiers IMAP ne sont que des sous-dossiers Maildir .Sent , .Draft , etc. dans la boîte de réception Maildir.

En supposant que vos messages vivent dans Maildirs /var/mail/<user>/ , cela conduit à l'heuristique suivante :

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

Cela fonctionne généralement, mais cela peut produire à la fois des faux positifs et des faux négatifs. Faux positifs car le serveur IMAP peut vous troller et mettre à jour le mtime de cur dossiers lors de l'indexation des boîtes aux lettres ou lors de toute autre tâche périodique. Faux négatifs car un utilisateur peut simplement supprimer le dossier contenant les derniers messages.

Une approche beaucoup plus sûre serait d'analyser les journaux pour voir à quand remonte la dernière fois que vos utilisateurs se sont connectés à SquirrelMail (à condition que ledit écureuil soit configuré pour conserver ces journaux en premier lieu).


Linux
  1. Comment savoir ce que signifie 'errno' ?

  2. Comment nettoyer les caches utilisés par le noyau Linux

  3. Comment canaliser ou rediriger la sortie de curl -v ?

  4. Comment connaître la valeur de la macro intégrée dans RPM ?

  5. Comment récupérer les paramètres ./configure utilisés la dernière fois ?

Comment je joue à Tetris sur le mainframe

À quand remonte la dernière fois que vous avez utilisé Windows ?

Comment le bureau Linux s'est développé

Comment définir ou modifier le fuseau horaire sous Linux

Comment connaître les groupes d'un utilisateur Linux

Comment partager la connexion internet ?