使用新的 .procmailrc 在假脱机文件上调用 procmail?

使用新的 .procmailrc 在假脱机文件上调用 procmail?

我最近配置了新的.procmailrc文件.forward来与我们的 Postfix 邮件服务器一起使用。我已经用新电子邮件对其进行了测试,并且新电子邮件.procmailrc可以根据需要正确过滤和转发。

现在我想/var/spool/mail/***username***使用新文件以某种方式重新处理我的文件的全部内容.procmailrc,以便所有 2000 多条消息都将正确分类到我的新文件中,~/mail/Likely-Spam并将所有未过滤的消息转发到我的公司展望帐户...为后代。~/mail/Almost-Certainly-Spam~/mail/Cron-Jobs~/mail/Email-Backup

是否有一个简单的命令可以完成此任务?

我的邮件服务器正在运行带 postfix 的 RHEL 7。

答案1

procmail附带另一个名为 的程序formail,可用于处理现有的 mbox。您可以使用它将您的邮箱通过管道返回到procmail.

为了避免新到达的邮件出现竞争情况,我会在处理之前重命名假脱机 mbox。例如:

mv /var/spool/mail/username /var/spool/mail/username.orig
formail -s procmail < /var/spool/mail/username.orig
rm /var/spool/mail/username.orig

之后的任何参数和选项-s procmail都将传递到 procmail。

formail手册页:

-s

输入将被分成单独的邮件消息,并通过管道一个接一个地传送到程序中(每个部分都会启动一个新程序)。

-s必须是指定的最后一个选项,第一的后面的参数应该是程序的名称,任何其他 参数将传递给它

如果省略该程序,则将formail简单地再次连接标准输出上的拆分邮件。

请参阅man formailman procmail了解更多详细信息。

相关内容