Назад | Перейти на главную страницу

Как удалить сообщения из почтового ящика exim, старше указанного количества дней

Я потратил довольно много времени, пытаясь понять, как это сделать, но, похоже, я немного растерялся. Должен быть способ сделать это в командной строке?

exim является MTA и не должен управлять почтовыми ящиками. Вы должны передать все входящие сообщения на dovecot-lda которые делают все остальное. Также dovecot пакет содержит очень полезную утилиту под названием doveadm. В его функции также входит очистка старых сообщений. Вы можете добавить в crontab следующие строки:

31 0 * * * /path/doveadm expunge -A mailbox Junk  savedbefore 31d
41 0 * * * /path/doveadm expunge -A mailbox Trash savedbefore 31d

Здесь старые сообщения удаляются только из папок «Корзина» и «Спам».

Я думаю это очень плохо идея для автоматического удаления сообщений пользователей. Намного лучше установить квоты на размеры почтовых ящиков и отправлять уведомления о достижении 75% и 95% лимита.

Все это очень хорошо объясняется в wiki dovecot: http://wiki.dovecot.org/