自动柜员机我正在使用正常的方法把所有邮件上的保持传递他们从后缀到MailScanner上描述http://www.mailscanner.info/postfix.html :
在Postfixconfiguration文件/etc/postfix/main.cf中添加以下行:
header_checks = regexp:/etc/postfix/header_checks在文件/ etc / postfix / header_checks中添加这一行:
/^Received:/ HOLD这样做的效果是告诉Postfix将所有消息移动到HOLD队列。
但是我有一些SMTP消息,我不需要通过MailScanner将消息传递给自定义标头。 我需要find一种方法绕过MailScanner这些消息,但我找不到它,因为我需要检查自定义标题的存在,而不是,即从:或到:地址…
试图修改/ etc / postfix / header_checks:
/^X-Custom-Header:/ FILTER smtp:[ip.addr.next.hop]:10025
在mail.log中,我看到过滤的消息:
Aug 19 17:52:17 servername postfix/cleanup[19423]: AFB842E33A: filter: header X-Custom-Header: from relay.sender.foo[xx.yy.zz.kk]; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail.sender.foo>: smtp:[ip.addr.next.hop]:10025
如果上面这个是header_checks中的唯一规则,那么它通过smtp传递给下一个中继。
现在我需要去捕获Mailscanner中的所有其他内容(所以在Postfix HOLD队列中),那么我怎么能告诉header_checks这样做呢? 如果我离开/ ^收到:/检查,即使AFB842E33A举行保持队列…
也许只是一个愚蠢的问题,但…任何想法?
是的,甚至有一个解决scheme。 它被称为header_checks ,是*_restrictions一部分。 格式(取决于你想要的)在它自己的文档中描述。
但是我不能推荐使用Mailscanner和Spamassassin之类的后续filter。 减less垃圾邮件和通知发件人的更好的方法是像内置postscreen , client_restrictions , sender_restrictions , recipient_restrictions ,before-queue milters和外部工具(如policyd-weight之前的队列filter。
只有在队列filter之前,才能减less服务器上的负载和资源,并且在到达服务器之前可以阻止所有垃圾邮件的80%。 特别是Mailscanner是在我个人的“讨厌列表”上,因为它只是在Postfix中整合起来,并且不能一般地使用Postfix的内置接口来反垃圾邮件filter和filter。
编辑 :由于编辑的问题,我现在将回答。
FILTER不是阻止Postfix在header_checks文件上工作的操作。 它只是告诉“当我完成我将过滤的检查”。 所以下一行匹配并设置邮件保持。
解决scheme(即使看起来残废)是这个header_checks文件:
/^X-Custom-Header:/ FILTER smtp:[ip.addr.next.hop]:10025 /^X-Custom-Header:/ OK /^Received:/ HOLD