GNU Mailutils |
|
General-Purpose Mail Package |
Official GNU Software |
The ‘relational’ extension complies with RFC 3431. It is
a built-in extension. When enabled, the two new match types become
available: :count
and :value
. Both keywords take a
single argument defining the relational operator to use:
‘"gt"’ | greater than (‘>’) |
‘"ge"’ | greater than or equal (‘>=’) |
‘"lt"’ | less than (‘<’) |
‘"le"’ | less than or equal (‘<=’) |
‘"eq"’ | equal to (‘==’) |
‘"ne"’ | not equal to (‘!=’) |
The :value
keyword requires a relational comparison between
strings. The left side of the relation is formed by the value from
the message. The right side of the relation is the value from the
test expression. If there are multiple values on either side or both
sides, the test is considered true if any pair is true. For example,
require ["relational", "fileinto"]; if header :value "gt" :comparator "i;ascii-numeric" ["x-spam-level] ["5"] { fileinto "spam"; }
The :count
keyword counts the specified entities in the message
and compares their number with the value given in the test
expression. The latter must be a list of one element. This match
type can only be used with numeric comparators. For example, the
following script will discard any message with 10 or more recipient
addresses in the ‘To’ and ‘Cc’ headers:
require "relational"; if address :count "ge" :comparator "i;ascii-numeric" ["to", "cc"] ["10"] { discard; }
This document was generated on January 2, 2022 using makeinfo.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.