我最近配置了新的.procmailrc和.forward文件,以便与我们的Postfix邮件服务器一起工作。我用新的电子邮件对它进行了测试,新的.procmailrc正在按需要正确地过滤和转发。
现在我想以某种方式使用新的/var/spool/mail/***username***重新处理我的.procmailrc文件的全部内容,以便将所有2000+消息正确地排序到我的新~/mail/Likely-Spam、~/mail/Almost-Certainly-Spam、~/mail/Cron-Jobs、~/mail/Email-Backup等中,并将所有未经过滤的消息转发到我的公司outlook帐户.为了子孙后代。
有一个简单的命令来完成这个任务吗?
我的邮件服务器正在运行带有后缀的RHEL 7。
发布于 2019-10-23 04:21:52
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将简单地将stdout上的拆分邮件连接起来。
有关更多细节,请参见man formail和man procmail。
https://unix.stackexchange.com/questions/548198
复制相似问题