我的一位用户将某种调试输出发送到了我服务器上的一个地址。
出现问题了,现在我的收件箱里有 35000 封邮件。我需要删除这些邮件,它们都来自一个特定的地址。收件箱的其余部分需要保持不变。
我如何实现这个目标?
平台:带有 DirectAdmin、Dovecot、Exim 的 CentOS 5。
答案1
Dovecot v.2 有一个名为的实用程序doveadm
,它允许执行多项功能。
http://wiki2.dovecot.org/Tools/Doveadm/Expunge
命令
doveadm expunge -u [email protected] savedbefore 2w
从 jane.doe 的邮箱中删除所有超过两周的消息。
如果您有 dovecot v.1,则必须使用系统实用程序find
:
find -E $userdir \
-type f \
-iregex ".*(cur|new).*" \
! -newerBt "1 month ago" \
-exec rm {} \;
答案2
如果你熟悉 Python,只需使用流行库