В системе Debian Squeeze я запускаю IMAP-сервер с помощью Dovecot с сообщениями, хранящимися в формате Maildir. К серверу обращаются различные клиенты, включая Thunderbird, Evolution и RoundCube.
Когда пользователь удаляет сообщение, оно перемещается в папку «Корзина». (Я не уверен, что все клиенты также помечают сообщения как удаленные при их перемещении.) Однако кроме этого никаких действий не предпринимается. Следовательно, я вынужден периодически напоминать всем пользователям о необходимости явно очищать корзину каждые несколько месяцев.
Предоставляет ли Dovecot простые средства автоматического удаления сообщений из корзины старше n дней? Я видел упоминание об удалении cron-job, но, похоже, удаляются все сообщения старше определенного количества дней, а не только те, которые находятся в корзине.
Плагин, о котором упоминал @hostemaster, на самом деле не нужен, если вы не имеете дело с тысячами пользователей.
Просто создайте такой простой скрипт:
#!/bin/bash
#
DOVEADM="/usr/local/dovecot/bin/doveadm";
$DOVEADM expunge -A mailbox Trash savedbefore 90d
$DOVEADM expunge -A mailbox Junk savedbefore 60d
И запускать его ежедневно как cronjob.
В результате из корзины будут удалены все сообщения старше 90 дней или из нежелательной почты, если они старше 60 дней.
Плагин Expire удаляет письма из указанных ящиков через определенное количество дней. http://wiki2.dovecot.org/Plugins/Expire