On Thu, Dec 27, 2018 at 08:58:46AM -0600, Bryan K. Walton wrote: > However, I am slightly confused about the documentation saying that > if..endif is allowed to nest. Does this mean that I could write > something like the following: > > if /pattern/flags > if !/pattern/flags > endif > endif
The checks are applied to *ONE LOGICAL HEADER AT A TIME*. So while the patterns can nest, they are matching the content of a *single* logical header line, not the entire message header. For each header line "x": For each rule "r": if ("x" ~ "r"): perform rule action When "r" is a sequence of nested "if" statments "r1" .. "rN", the meanining of "x" ~ "r" is: if "x" ~ "r1" and "x" ~ "r2" ... and "x" ~ "rN" perform rule action but, note that all the rules see the same input "x", which is still just a single logical header line. -- Viktor.