从命令行访问 SpamAssassin SpamBox

从命令行访问 SpamAssassin SpamBox

我正在尝试创建一个 CRONjob 来删除超过 x 天的垃圾邮件。我可以从命令行执行此操作非垃圾邮件使用以下脚本发送电子邮件:

find "/home/account/mail/example.com/username/cur/" -type f -mtime +15 -exec rm {} \;

问题是我也想对垃圾邮件执行此操作。上述脚本不涉及垃圾邮件。

我认为问题可能在于我使用了 SpamBox。我不确定 SpamAssassin 将它标记为垃圾邮件的电子邮件“存储”在哪里,因此find使用上述脚本时会出现问题。

有人能帮忙吗?我是不是应该放弃这个愚蠢的任务?

注意:服务器与 cPanel 共置托管。(我对命令行相当熟悉,但此信息可能对您有用。)

答案1

首先,我要感谢上述帮助过我的人,尤其是@chicks。我最终想出了一个可行的解决方案,并在此发布。

我使用 cPanel 中的 CRONjob 实现了该解决方案;但是,解决方案代码可以通过其他几种方式实现。它与我的 OP 中的代码类似,但需要进行细致的反复试验才能找到正确的映射策略。以下是它的工作方式:

例如,我们有一个名为“shazam”的帐户。此帐户托管一个名为“example.com”的网站,其中有一个名为“Dave”的用户。当然,Dave 的电子邮件地址是[电子邮件保护]

在这种情况下,SpamAssassin 将 Dave 识别的垃圾邮件路由到:

shazam
- example.com
-- dave
--- spam 

工作命令是:

find "/home/shazam/mail/example.com/dave/.spam/" -type f -mtime +30 -exec rm {} \;

“+30”将删除的电子邮件限制为超过 30 天的电子邮件。

Dave 还拥有一些全局电子邮件过滤器,可以将“特殊客户”的电子邮件路由到位于其收件箱下属的第二个位置的第二个垃圾邮件文件夹中:

shazam
- example.com
-- dave
--- INBOX
---- spam 

工作命令是:

find "/home/shazam/mail/example.com/dave/.INBOX.spam/" -type f -mtime +30 -exec rm {} \;

路径可能需要根据主机的组织方法而变化。

我在这里发布这个,以便语法能够帮助其他人比我更快地回答这个问题!

相关内容