私の電子メールが最後に使用された時間をどのように知ることができますか?

私の電子メールが最後に使用された時間をどのように知ることができますか?

私のサーバーには、一部の人が使用する複数の電子メールがあります。

いくつかは数年前に作られていましたが、もはや使用されていないようです。

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これらのファイルの1つは、電子メールが最後に使用された時期を示す良い情報ですか?そして「使用した」という言葉は、少なくとも読んだという意味です。

ベストアンサー1

まず、背景情報:あなたのEメールはMaildir形式です。 Maildirメールボックスにはtmpnew3つのサブディレクトリがありますcur。そのうち、新しいメッセージ、読み取ったメッセージを含むtmp転送にのみ使用されます。転送されたメッセージは、にある変更できないファイルで構成されます。メッセージの状態を「新規」から「読み取り」に変更することは、基本的にそのファイルをからに移動することを意味します。さまざまなその他のメッセージ固有のフラグ(など)は、ファイル名に追加された特殊文字で記録されます。 IMAPフォルダは、受信トレイのMaildir内にあるMaildirサブフォルダなどです。newcurnewcurnewcurOF.Sent.Draft

メッセージが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サーバーがメールボックスをインデックス化したり、他の定期的なタスクを実行している間にフォルダを更新するようにユーザーをだましている可能性があるためですmtimecurユーザーが最新のメッセージを含むフォルダを単に削除できるため、偽の不正です。

より安全なアプローチは、ログを解析してユーザーがSquirrelMailに最後にログインした時刻を確認することです(リスが最初にそのようなログを保持するように構成されている場合)。

おすすめ記事