Как очистить почтовые ящики Dovecot из командной строки.

При использовании Postfix и Dovecot, в какой-то момент столкнулся с проблемой, что некоторые почтовые ящики пользователей заполнились настолько, что попытки удалить почту через web-клиент приводили к его зависанию. В папках было огромное количество спам-писем.

Ниже приведу примеры как выполнять очистку почтовых ящиков пользователей.

 

Для полной очистки папки INBOX для ВСЕХ пользоватлей, команда:

doveadm expunge -A mailbox INBOX ALL

Для полной очистки папки INBOX конкретного пользователя, команда:

doveadm expunge -u example@domain.com mailbox INBOX ALL
ИНФОРМАЦИЯ. Тут очищается папка «Входящие» — INBOX, для «Отправленные» надо заменить на SENT.

 

Для очистки папки INBOX писем стерше 2х недель, выполним команду:

doveadm expunge -A mailbox INBOX savedbefore 2w

Для очистки папки INBOX писем стерше 1го дня, выполним команду:

doveadm expunge -A mailbox INBOX before 1d

Если при выполнении команд doveadm ругается что не может найти пользователя(ей) или что-то подобное, то нужно проверить есть ли параметр iterate_query в /etc/dovecot/dovecot-sql.conf.ext. Без данного параметра могут быть проблемы с поиском пользователей и их ящиков.

Строка в файле /etc/dovecot/dovecot-sql.conf.ext должна выглядить так (если ее нет, то нужно добавить ее):

SELECT email as user FROM virtual_users

где, emailvirtual_users необходимо изменить на ваши значения. Это нужно смотреть в БД Postfix (MySQL).

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

Оставьте комментарий

4 × пять =