我有main.cfconfiguration:
header_checks = regexp:/etc/postfix/header_checks
和/etc/postfix/header_checks :
/^Subject:.*viagra.*/i DISCARD /^Subject:.*pills.*/i DISCARD /^Subject:.*f\*ckbuddy.*/i DISCARD /^Subject:.*f\*ckfriend.*/i DISCARD /^Subject:.*f\@ck.*/i DISCARD /^From:.*viagra.*/i DISCARD
注意我添加了/i来区分大小写。 不知道这是否允许?
我已经尝试从hotmail发送电子邮件到我的服务器药丸的主题,但仍然没有运气! 还有一个返回发件人方法,而不是DISCARD ?
如果postmap -q "<put test header here>" regexp:/etc/postfix/header_checks正确地返回DISCARD(或匹配的相应动作),但是postfix实际上并不执行所述动作,那么可能有一个receive_override_options=no_header_body_checks在main.cf或master.cf中的某处closures标题检查。 在master.cf文件中,它将是其中一个服务configuration条目中的-o选项。
receive_override_options有4个选项:
- no_unknown_recipient_checks不要尝试拒绝未知收件人(仅限SMTP服务器)。 这通常是在外部内容filter之后指定的。
- no_address_mappings禁用规范地址映射,虚拟别名映射扩展,地址伪装和自动密件抄送(密件抄送)收件人。 这通常在外部内容filter之前指定。
- no_header_body_checks禁用头文件/ body_checks。 这通常是在外部内容filter之后指定的。
- no_milters禁用Milter(邮件filter)应用程序。 这通常是在外部内容filter之后指定的。
no_address_mappings选项通常位于main.cf而其他选项则位于master.cf
“-o receive_override_options”将覆盖main.cf设置,以避免重复在内容filter之前完成的工作。 这些选项是对main.cf中指定的选项的补充
来源: Postfix After-Queue内容filter
regex:和pcre:默认情况下,模式不区分大小写。 但是, i国旗应该工作。 REJECT而不是DISCARD来通知发件人。 postmap /etc/postfix/header_checks和重新加载后缀? 如果可用的话,使用pcre正则expression式通常比用正则regexp:使用Posix实现更快。 使用header_checks = pcre:/etc/postfix/header_checks
什么是日志文件说?
正如@HZC所说,它可能是一个-o receive_override_options问题。 我在这里有同样的问题: 我的问题,并解决了后postfix header_checks使用正则expression式适当的设置 。 我的情况是拒绝而不是DISCARD 。 如果您想作弊垃圾邮件发送者,您使用DISCARD,垃圾邮件发送者将不会收到任何通知。 欲了解更多关于这方面的信息,你可以访问这个链接 ,看看拒绝行动部分。
DISCARD结构:
DISCARD optional text... Claim successful delivery and silently discard the message. Log the optional text if specified, otherwise log a generic message.