Andrea: > Hello, > I'm having a problem with header_checks pcre > > This rule is working: > > # Block mail from xxx.yyy.zzz.www and russian domain > if /.*xxx\.yyy\.zzz\.www/ > /.*from.*\@.*\.ru.*to.*\@.*/ > reject Mail from russian domain > endif > > This is not: > > # Block mail from xxx.yyy.zzz.www with sender different from domain.com > if /.*xxx\.yyy\.zzz\.www/ > !/.*(Ff)rom.*\@domain\.com.*/ > reject This seems spam!
Read this very carefully: if /pattern/flags endif If the input string matches /pattern/, then match that input string against the patterns between if and endif. The if..endif can nest. That is, the SAME input line is matched against ``if /pattern/flags'' AND against the patterns between if/endif. Wietse