我正在尝试创建一个 CRONjob 来删除超过 x 天的垃圾邮件。我可以使用以下脚本从命令行使用非垃圾邮件执行此操作:
find "/home/account/mail/example.com/username/cur/" -type f -mtime +15 -exec rm {} \;
问题是我也想用垃圾邮件来做这件事。上面的脚本不涉及垃圾邮件。
我认为问题可能是我正在使用 SpamBox。我不确定 SpamAssassin 将其标记为垃圾邮件的电子邮件“存储”在哪里,因此find
使用上述脚本会产生问题。
任何人都可以帮忙吗?我应该放弃这个作为一个傻瓜的差事吗?
注意:服务器与 cPanel 并置托管。(我相当精通命令行,但此信息可能对您有用。)
首先,我要感谢上面提供帮助的人,尤其是@chicks。我最终确实提出了一个可行的解决方案,并将其发布在这里。
我在 cPanel 中使用 CRONjob 实现了解决方案;但是,解决方案代码可以通过其他几种方式实现。它类似于我的 OP 中的代码,但需要进行精细的试错实验才能找到正确的映射策略。下面是它的结果:
例如,我们有一个名为“shazam”的帐户。该帐户托管一个名为“example.com”的站点,其中我们有一个名为“Dave”的用户。当然,Dave 的电子邮件地址是 [email protected]。
在这种情况下,SpamAssassin 将 Dave 识别的垃圾邮件路由到:
工作命令是:
“+30”将删除的电子邮件限制为仅超过 30 天的邮件。
Dave 还有一些全局电子邮件过滤器,可将“特殊客户”电子邮件路由到第二个垃圾邮件文件夹中,该文件夹位于他的收件箱下的第二个位置:
工作命令是:
路径可能必须根据主机的组织方法而有所不同。
我在这里发布这个,以防语法帮助其他人比我更快地回答这个问题!