Ich habe mehrere E-Mails auf meinem Server, die von einigen Leuten verwendet werden.
Einige wurden vor Jahren erstellt und ich vermute, dass sie nicht mehr verwendet werden.
Per FTP sehe ich die Ordner
.Drafts
.Junk
.Sent
.spam
.Trash
cur
new
tmp
und die Dateien
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
ist das Date Modified
einer dieser Dateien ein guter Indikator dafür, wann eine E-Mail zuletzt verwendet wurde? Mit gebraucht meine ich zumindest lesen.
Akzeptierte Antwort:
Einige Hintergrundinformationen zuerst:Ihre Postfächer sind im Maildir-Format. Maildir-Postfächer haben drei Unterverzeichnisse, tmp
, new
, und cur
. Davon tmp
dient nur der Auslieferung, new
enthält neue Nachrichten und cur
Nachrichten lesen. Einmal zugestellte Nachrichten bestehen aus unveränderlichen Dateien in new
und cur
. Eine Nachricht, die den Status von „neu“ auf „gelesen“ ändert, bedeutet im Wesentlichen, dass die entsprechende Datei von new
verschoben wird zu cur
. Verschiedene andere Flags pro Nachricht (O
, F
, usw.) werden mit an Dateinamen angehängten Sonderzeichen aufgezeichnet. IMAP-Ordner sind nur Maildir-Unterordner .Sent
, .Draft
, etc. im Posteingang Maildir.
Angenommen, Ihre Nachrichten befinden sich in Maildirs /var/mail/<user>/
, führt dies zu folgender Heuristik:
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
Dies funktioniert meistens, kann aber sowohl falsch positive als auch falsch negative Ergebnisse erzeugen. Falsch positive Ergebnisse, da der IMAP-Server Sie möglicherweise trollen und die mtime
aktualisieren könnte von cur
Ordner beim Indizieren von Postfächern oder bei anderen regelmäßigen Aufgaben. Falsche Negative, da ein Benutzer möglicherweise einfach den Ordner mit den neuesten Nachrichten löscht.
Ein viel sichererer Ansatz wäre es, die Protokolle zu parsen, um zu sehen, wann sich Ihre Benutzer das letzte Mal bei SquirrelMail angemeldet haben (vorausgesetzt, dass besagtes Eichhörnchen so konfiguriert ist, dass es überhaupt solche Protokolle führt).