我希望postfix将所有通过SMTP接收到的电子邮件发送到外部进程,这将决定是否允许他们通过正常的方式,或者是否将它们放入保留队列(或另一个隔离区),在那里他们必须等待pipe理员批准。
我正在考虑使用队列后内容filter来实现这个function,它使用pipe(8)在每条消息上运行脚本,如果脚本本身决定放置消息,则会产生“postsuper -h”。
然后pipe理员可以根据需要执行postsuper -d或-r删除或传递消息。
所以,我的问题是 – a)这个工作是否可行?b)这是做这件事的最好方法吗? 更好的方法是将一个更老的或其他types的内容filter?
这实际上是MailScanner的工作方式,所以在这里查看MailScanner / Postfix的安装文档可能是一个想法。 基本上,所有的电子邮件都被发送到一个保留队列,MailScanner扫描它,并且通过的任何东西都被放到出站队列中。
希望忽略文档的MailScanner特定部分,您将能够提取您需要的Postfix设置。
使用header_check …例如。
在main.cf文件中:
header_checks = regexp:/ usr / local / etc / postfix / header_check
在header_check文件中:/ Subject:Test * / HOLD