aboutsummaryrefslogtreecommitdiffstats
path: root/filter/filtertypes.xml
blob: dcba45dc002c3a9d6fcd57a0582c1629144ce827 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?xml version="1.0"?>
<filterdescription>
<ruleset type="match">
<rule name="from-address">
  <code>
   (match-all (header-contains "From" ${sender}))
  </code>
  <description lang="en">The From address matches <source type="address" name="sender">sender(s)</source>.</description>
</rule>

<rule name="to-address">
  <code>
   (match-all (or (header-contains "To" ${recipient})
                  (header-contains "Cc" ${recipient})))
  </code>
  <description lang="en">The To or Cc address matches <source type="address" name="recipient">recipients</source>.</description>
</rule>

<rule name="subject-contains">
  <code>
   (match-all (header-contains "Subject" ${words}))
  </code>
  <description lang="en">The Subject contains <source type="folder" name="words">words</source>.</description>
</rule>

<rule name="body-contains">
  <code>
   (match-all (body-contains ${words}))
  </code>
  <description lang="en">The body contains <source type="folder" name="words">words</source>.</description>
</rule>

<rule name="cc-address">
  <code>
    (match-all (header-contains "CC" ${self-email}))
  </code>
  <description lang="en">I am in the cc list.</description>
</rule>

<rule name="msg-size">
  <code>
   (&amp; (&gt; message-size (size-lower size-range))
      (&lt; message-size (size-uppwer size-range)))
  </code>
  <description lang="en">The message is a <source type="size-range" name="size">certain size</source>.</description>
</rule>
</ruleset>

<ruleset type="action">
<rule name="copy-me">
  <code>
    (copy-to ${folder})
  </code>
  <description language="en">Send a copy to <source type="folder" name="folder">folder</source>.</description>
</rule>
<rule name="forward">
  <code>
    (forward-to ${address})
  </code>
  <description language="en">Forward the message to <source type="address" name="address">people</source>.</description>
</rule>
<rule name="delete">
  <code>
    (delete)
  </code>
  <description language="en">Delete message.</description>
</rule>
<rule name="stop">
  <code>
    (stop)
  </code>
  <description language="en">Stop processing further rules for this message.</description>
</rule>
</ruleset>

<ruleset type="except">
<rule name="except-me">
  <code>
    (match-all (not (header-contains "To" ${self-email})))
  </code>
  <description language="en">When I am the recipient.</description>
</rule>

<rule name="not-body-contains">
  <code>
   (match-all (not (body-contains ${words})))
  </code>
  <description lang="en">The body does not contain <source type="folder" name="words">words</source>.</description>
</rule>

</ruleset>

<optionset>
  <option type="receive">
    <description language="en">When a message arrives.</description>
  </option>
  <option type="send">
    <description language="en">When a message is sent.</description>
  </option>
  <option type="receive">
    <description language="en">Copy incoming messages from a certain address to specific folder.</description>
    <optionrule type="match" rule="from-address"/>
    <optionrule type="action" rule="copy-me"/>
  </option>
  <option type="send">
    <description language="en">Copy sent messages to a specific folder.</description>
    <optionrule type="action" rule="copy-me"/>
  </option>
</optionset>
</filterdescription>