doveadm: Удалить сообщения старше даты

У меня ситуация, когда некоторые пользователи хранят очень старые сообщения (+5 лет) в своих почтовых ящиках, которые являются пустой тратой места и по соображениям безопасности также должны быть удалены.

Я обнаружил, что могу использовать для этого doveadm , однако выполнение чего-то вроде:

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

Не дает никакого эффекта. Насколько я понимаю, почтовые клиенты помечают электронные письма для удаления до того, как expunge запускается на сервере для их фактического удаления.

Как я могу пометить их для удаления с помощью doveadm , а затем запустить doveadm команда перед или напрямую и полностью удалить их?

7
задан 9 April 2016 в 19:15
1 ответ

По-видимому, мое решение было почти правильным, я могу делать то, что мне нужно, с помощью:

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
8
ответ дан 2 December 2019 в 23:35

Теги

Похожие вопросы