サーバー上に、一部の人が使用しているメールがいくつかあります。
何年も前に作成されたものもあり、もう使用されていないようです。
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がそのようなログを最初に保持するように構成されている場合)。