一部のユーザーがメールボックスに非常に古いメッセージ(+5年)を保持しているが、これはスペースの無駄であり、安全上の理由から削除する必要がある状況です。
私はdoveadm
をこれに使用できることがわかりましたが、次のようなものを実行しています:
doveadm expunge -u [email protected] mailbox INBOX savedbefore 1-Jan-2011
効果はありません。私の理解では、実際にメールを削除するためにexpunge
がサーバーで実行される前に、メールクライアントはメールに削除のマークを付けます。
doveadm
を使用してそれらに削除のマークを付け、次にorの前にdoveadm
コマンドを直接実行して完全に削除するにはどうすればよいですか?
どうやら私のソリューションはほぼ適切でした、私は私が必要とすることを行うことができます:
doveadm expunge -u [email protected] mailbox INBOX SENTBEFORE 1-Jan-2011
doveadm expunge -u [email protected] mailbox INBOX.Sent SENTBEFORE 1-Jan-2011
doveadm expunge -u [email protected] mailbox INBOX.Trash SENTBEFORE 1-Jan-2011
doveadm purge -u [email protected]
注:-u [email protected]
を-A
に置き換えて、システム上のすべてのユーザーをターゲットにすることができます。
WHM/cPanelベースの電子メールシステムの追加:
WHM/cPanelマシンを実行している場合は、メールディレクトリのサイズを手動で更新する必要があります。
/scripts/generate_maildirsize --confirm --verbose account_username
または、すべてのアカウントについて:
/scripts/generate_maildirsize --allaccounts --confirm --verbose