在Debian Squeeze系统上,我使用Dovecot运行一个IMAP服务器,邮件以Maildir格式存储。 服务器可以被各种客户端访问,包括Thunderbird,Evolution和RoundCube。
当用户删除邮件时,邮件将被移到“垃圾箱”文件夹中。 (我不确定是否所有的客户在移动时都会将这些消息标记为已删除。)但是,除此之外,不采取任何行动。 因此,我被迫定期提醒所有用户每隔几个月明确清空垃圾箱。
Dovecot是否提供了一个简单的方法来自动删除n天以前的Trashed消息? 我已经提到删除的cron-job,但它似乎删除所有超过一定天数的邮件,而不是垃圾邮件。
过期插件在指定的天数之后从指定的邮箱中删除邮件。 http://wiki2.dovecot.org/Plugins/Expire
@hostemaster提到的插件并不是真的需要,如果你不处理数以千计的用户。
只要创build一个简单的脚本就可以了:
#!/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天,则会从垃圾箱中删除。