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).