我最近配置了新的.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 formail
和man procmail
了解更多详细信息。