使用 Dovecot IMAP 清空垃圾

Fre*_*den 2 imap dovecot

在 Debian Squeeze 系统上,我使用 Dovecot 运行 IMAP 服务器,消息以 Maildir 格式存储。该服务器由各种客户端访问,包括 Thunderbird、Evolution 和 RoundCube。

当用户删除邮件时,它会被移动到垃圾箱文件夹。(我不确定在移动消息时是否所有客户端也将消息标记为已删除。)但是,除此之外没有采取任何措施。因此,我被迫每隔几个月定期提醒所有用户明确清空他们的垃圾箱。

Dovecot 是否提供了一种简单的方法来自动删除超过 n 天的垃圾邮件?我已经看到提到删除 cron 作业,但它似乎删除了所有超过特定天数的消息,而不是仅删除垃圾箱中的消息。

小智 7

如果您不与数千名用户打交道,则不需要@hostemaster 提到的插件。

只需创建一个简单的脚本,如下所示:

#!/bin/bash
#
DOVEADM="/usr/local/dovecot/bin/doveadm";

$DOVEADM expunge -A mailbox Trash savedbefore 90d
$DOVEADM expunge -A mailbox Junk  savedbefore 60d
Run Code Online (Sandbox Code Playgroud)

并每天将其作为 cronjob 运行。

这将从垃圾箱中删除超过 90 天的所有邮件,或者从垃圾邮件中删除超过 60 天的邮件。