批量删除特定地址的电子邮件

批量删除特定地址的电子邮件

我的一位用户将某种调试输出发送到了我服务器上的一个地址。

出现问题了,现在我的收件箱里有 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,只需使用流行库

相关内容