在 Debian Squeeze 系统上,我使用 Dovecot 运行 IMAP 服务器,消息以 Maildir 格式存储。该服务器可供各种客户端访问,包括 Thunderbird、Evolution 和 RoundCube。
当用户删除邮件时,邮件会被移至“废纸篓”文件夹。(我不确定所有客户端在移动邮件时是否也会将邮件标记为已删除。)但是,除此之外不会采取任何措施。因此,我不得不定期提醒所有用户每隔几个月明确清空“废纸篓”。
Dovecot 是否提供了一种简单的方法来自动删除超过 n 天的已删除邮件?我曾看到有人提到过删除 cron-job,但它似乎会删除超过一定天数的所有邮件,而不仅仅是那些已删除的邮件。
答案1
过期插件会在指定的天数后从指定的邮箱中删除邮件。 http://wiki2.dovecot.org/Plugins/Expire
答案2
如果您不需要处理数千名用户,那么@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 天的所有邮件。