使用 Dovecot IMAP 清空垃圾箱

使用 Dovecot IMAP 清空垃圾箱

在 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 天的所有邮件。

相关内容