サーバー上に、一部の人が使用しているメールがいくつかあります。
何年も前に作成されたものもあり、もう使用されていないようです。
ftpを介してフォルダが表示されます
.Drafts
.Junk
.Sent
.spam
.Trash
cur
new
tmp
とファイル
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
Date Modified
です これらのファイルのいずれかのうち、電子メールが最後に使用されたのはいつかを示す良い指標ですか?使用されるとは、少なくとも読むことを意味します。
承認された回答:
最初にいくつかの背景:メールボックスはMaildir形式です。 Maildirメールボックスには、tmp
という3つのサブディレクトリがあります。 、new
、およびcur
。これらのうち、tmp
配信にのみ使用されます。new
新しいメッセージが含まれ、cur
メッセージを読む。配信されたメッセージは、new
の不変ファイルで構成されます およびcur
。状態を「新規」から「読み取り」に変更するメッセージは、基本的に、対応するファイルをnew
から移動することを意味します。 cur
へ 。その他のさまざまなメッセージごとのフラグ(O
、F
など)は、ファイル名に特殊文字を追加して記録されます。 IMAPフォルダは単なるMaildirサブフォルダです.Sent
、.Draft
、など。受信トレイのMaildir内。
メッセージがMaildirs/var/mail/<user>/
にあると仮定します 、これは次のヒューリスティックにつながります:
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
これはほとんど機能しますが、誤検知と誤検知の両方が発生する可能性があります。 IMAPサーバーがユーザーをトロールしてmtime
を更新する可能性があるため、誤検知 cur
の メールボックスのインデックスを作成するとき、またはその他の定期的なタスクを実行するときのフォルダ。ユーザーが最新のメッセージを含むフォルダーを削除する可能性があるため、フォールスネガティブ。
より安全なアプローチは、ログを解析して、ユーザーがSquirrelMailに最後にログインしたのはいつかを確認することです(ただし、Squirrelがそのようなログを最初に保持するように構成されている場合)。