web-dev-qa-db-ja.com

doveadm:日付より古いメッセージを削除する

一部のユーザーがメールボックスに非常に古いメッセージ(+5年)を保持しているが、これはスペースの無駄であり、安全上の理由から削除する必要がある状況です。

私はdoveadmをこれに使用できることがわかりましたが、次のようなものを実行しています:

doveadm expunge -u [email protected] mailbox INBOX savedbefore 1-Jan-2011

効果はありません。私の理解では、実際にメールを削除するためにexpungeがサーバーで実行される前に、メールクライアントはメールに削除のマークを付けます。

doveadmを使用してそれらに削除のマークを付け、次にorの前にdoveadmコマンドを直接実行して完全に削除するにはどうすればよいですか?

8
TCB13

どうやら私のソリューションはほぼ適切でした、私は私が必要とすることを行うことができます:

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
9
TCB13