Dovecot

doveadm:刪除早於日期的消息

  • April 9, 2016

我有一種情況,一些使用者在他們的郵箱中保留了非常舊的消息(+5 年),這只是浪費空間,出於安全原因也應該刪除。

我發現我可以使用doveadm它,但是執行類似:

doveadm expunge -u testuser@sv.dev mailbox INBOX savedbefore 1-Jan-2011

沒有任何作用。據我了解,電子郵件客戶端expunge在伺服器上執行之前將電子郵件標記為刪除以實際刪除它們。

如何將它們標記為刪除doveadm,然後在之前doveadm直接執行命令並完全刪除它們?

顯然我的解決方案幾乎是正確的,我可以做我需要的:

doveadm expunge -u testuser@sv.dev mailbox INBOX SENTBEFORE 1-Jan-2011
doveadm expunge -u testuser@sv.dev mailbox INBOX.Sent SENTBEFORE 1-Jan-2011
doveadm expunge -u testuser@sv.dev mailbox INBOX.Trash SENTBEFORE 1-Jan-2011
doveadm purge -u testuser@sv.dev

注意:您可以替換-u testuser@sv.dev-A以系統上的所有使用者為目標。


基於 WHM/cPanel 的電子郵件系統的額外功能:

如果您正在執行 WHM/cPanel 機器,則需要手動更新郵件目錄的大小:

/scripts/generate_maildirsize --confirm --verbose account_username

或者,對於所有帳戶:

/scripts/generate_maildirsize --allaccounts --confirm --verbose

引用自:https://serverfault.com/questions/769208