У меня ситуация, когда некоторые пользователи хранят очень старые сообщения (+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 (скрытый) на
-A
для всех пользователей в системе.
Дополнительно для систем электронной почты на основе WHM / cPanel:
Если вы используете машину WHM / cPanel, вам необходимо обновить размер ваших почтовых каталогов вручную:
/scripts/generate_maildirsize --confirm --verbose account_username
Или для всех учетных записей:
/scripts/generate_maildirsize --allaccounts --confirm --verbose