6 <input type="optionlist" name="sender-type">
7 <option value="contains">
8 <title>contains</title>
9 <code>(match-all (header-contains "From" ${sender}))</code>
11 <option value="not contains">
12 <title>does not contain</title>
13 <code>(match-all (not (header-contains "From" ${sender})))</code>
17 <code>(match-all (header-matches "From" ${sender}))</code>
19 <option value="is not">
21 <code>(match-all (not (header-matches "From" ${sender})))</code>
23 <option value="starts with">
24 <title>starts with</title>
26 (match-all (header-starts-with "From" ${sender}))
29 <option value="not starts with">
30 <title>does not start with</title>
32 (match-all (not (header-starts-with "From" ${sender})))
35 <option value="ends with">
36 <title>ends with</title>
38 (match-all (header-ends-with "From" ${sender}))
41 <option value="not ends with">
42 <title>does not end with</title>
44 (match-all (not (header-ends-with "From" ${sender})))
48 <input type="string" name="sender"/>
52 <title>Recipients</title>
53 <input type="optionlist" name="recipient-type">
54 <option value="contains">
55 <title>contains</title>
57 (match-all (or (header-contains "To" ${recipient})
58 (header-contains "Cc" ${recipient})))
61 <option value="not contains">
62 <title>does not contain</title>
65 (header-contains "To" ${recipient})
66 (header-contains "Cc" ${recipient}))))
72 (match-all (or (header-matches "To" ${recipient})
73 (header-matches "Cc" ${recipient})))
76 <option value="is not">
80 (header-matches "To" ${recipient})
81 (header-matches "Cc" ${recipient}))))
84 <option value="starts with">
85 <title>starts with</title>
87 (match-all (or (header-starts-with "To" ${recipient})
88 (header-starts-with "Cc" ${recipient})))
91 <option value="not starts with">
92 <title>does not start with</title>
95 (header-starts-with "To" ${recipient})
96 (header-starts-with "Cc" ${recipient}))))
99 <option value="ends with">
100 <title>ends with</title>
102 (match-all (or (header-ends-with "To" ${recipient})
103 (header-ends-with "Cc" ${recipient})))
106 <option value="not ends with">
107 <title>does not end with</title>
110 (header-ends-with "To" ${recipient})
111 (header-ends-with "Cc" ${recipient}))))
115 <input type="address" name="recipient"/>
118 <part name="subject">
119 <title>Subject</title>
120 <input type="optionlist" name="subject-type">
121 <option value="contains">
122 <title>contains</title>
124 (match-all (header-contains "Subject" ${subject}))
127 <option value="not contains">
128 <title>does not contain</title>
130 (match-all (not (header-contains "Subject" ${subject})))
136 (match-all (header-matches "Subject" ${subject}))
139 <option value="is not">
140 <title>is not</title>
142 (match-all (not (header-matches "Subject" ${subject})))
145 <option value="starts with">
146 <title>starts with</title>
148 (match-all (header-starts-with "Subject" ${subject}))
151 <option value="not starts with">
152 <title>does not start with</title>
154 (match-all (not (header-starts-with "Subject" ${subject})))
157 <option value="ends with">
158 <title>ends with</title>
160 (match-all (header-ends-with "Subject" ${subject}))
163 <option value="not ends with">
164 <title>does not end with</title>
166 (match-all (not (header-ends-with "Subject" ${subject})))
170 <input type="string" name="subject"/>
173 <title>Message Body</title>
174 <input type="optionlist" name="body-type">
175 <option value="contains">
176 <title>contains</title>
178 (body-contains ${word})
181 <option value="not contains">
182 <title>does not contain</title>
184 (not (body-contains ${word}))
188 <input type="string" name="word"/>
191 <title>Expression</title>
192 <input type="code" name="code"/>
195 <part name="sent-date">
196 <title>Date sent</title>
197 <input type="optionlist" name="date-spec-type">
201 (match-all (= (get-sent-date) ${versus}))
204 <option value="is-not">
205 <title>is not</title>
207 (match-all (not (= (get-sent-date) ${versus})))
210 <option value="before">
211 <title>is before</title>
213 (match-all (< (get-sent-date) ${versus}))
216 <option value="after">
217 <title>is after</title>
219 (match-all (> (get-sent-date) ${versus}))
223 <input type="datespec" name="versus"/>
226 <part name="recv-date">
227 <title>Date received</title>
228 <input type="optionlist" name="date-spec-type">
232 (match-all (= (get-received-date) ${versus}))
235 <option value="is-not">
236 <title>is not</title>
238 (match-all (not (= (get-received-date) ${versus})))
241 <option value="before">
242 <title>is before</title>
244 (match-all (< (get-received-date) ${versus}))
247 <option value="after">
248 <title>is after</title>
250 (match-all (> (get-received-date) ${versus}))
254 <input type="datespec" name="versus"/>
259 <input type="optionlist" name="label-type">
263 (match-all (= (user-tag "label") ${versus}))
266 <option value="is-not">
267 <title>is not</title>
269 (match-all (not (= (user-tag "label") ${versus})))
273 <input type="label" name="versus"/>
278 <input type="optionlist" name="score-type">
282 (match-all (= (cast-int (user-tag "score")) ${versus}))
285 <option value="is-not">
286 <title>is not</title>
288 (match-all (not (= (cast-int (user-tag "score")) ${versus})))
291 <option value="greater-than">
292 <title>is greater than</title>
294 (match-all (> (cast-int (user-tag "score")) ${versus}))
297 <option value="less-than">
298 <title>is less than</title>
300 (match-all (< (cast-int (user-tag "score")) ${versus}))
304 <input type="score" name="versus"/>
308 <title>Size (kB)</title>
309 <input type="optionlist" name="size-type">
310 <option value="greater-than">
311 <title>is greater than</title>
313 (match-all (> (get-size) ${versus}))
316 <option value="less-than">
317 <title>is less than</title>
319 (match-all (< (get-size) ${versus}))
323 <input type="integer" name="versus"/>
327 <title>Status</title>
328 <input type="optionlist" name="match-type">
332 (match-all (system-flag ${flag}))
335 <option value="is not">
336 <title>is not</title>
338 (match-all (not (system-flag ${flag})))
342 <input type="optionlist" name="flag">
343 <option value="Answered">
344 <title>Replied to</title>
346 <option value="Deleted">
347 <title>Deleted</title>
349 <option value="Draft">
352 <option value="Flagged">
353 <title>Important</title>
355 <option value="Seen">
361 <part name="follow-up">
362 <title>Follow Up</title>
363 <input type="optionlist" name="match-type">
365 <title>is Flagged</title>
367 (match-all (not (= (user-tag "follow-up") "")))
370 <option value="is not">
371 <title>is not Flagged</title>
373 (match-all (= (user-tag "follow-up") ""))
379 <part name="attachments">
380 <title>Attachments</title>
381 <input type="optionlist" name="match-type">
382 <option value="exist">
385 (match-all (system-flag "Attachments"))
388 <option value="not exist">
389 <title>Do Not Exist</title>
391 (match-all (not (system-flag "Attachments")))
398 <title>Mailing list</title>
399 <input type="optionlist" name="mlist-type">
402 <code>(match-all (header-matches "x-camel-mlist" ${mlist}))</code>
404 <option value="is not">
405 <title>is not</title>
406 <code>(match-all (not (header-matches "x-camel-mlist" ${mlist})))</code>
408 <option value="contains">
409 <title>contains</title>
410 <code>(match-all (header-contains "x-camel-mlist" ${mlist}))</code>
412 <option value="not contains">
413 <title>does not contain</title>
414 <code>(match-all (not (header-contains "x-camel-mlist" ${mlist})))</code>
417 <input type="string" name="mlist"/>
421 <title>Match All</title>
431 <rule grouping="any" source="demand">
432 <_title>Subject or Sender contains</_title>
434 <part name="subject">
435 <value name="subject-type" type="option" value="contains"/>
436 <value name="subject" type="string"/>
439 <value name="sender-type" type="option" value="contains"/>
440 <value name="sender" type="string"/>
446 <rule grouping="any" source="demand">
447 <_title>Recipients contain</_title>
450 <value name="recipient-type" type="option" value="contains"/>
451 <value name="recipient" type="address"/>
457 <rule grouping="any" source="demand">
458 <_title>Message contains</_title>
460 <part name="subject">
461 <value name="subject-type" type="option" value="contains"/>
462 <value name="subject" type="string"/>
465 <value name="body-type" type="option" value="contains"/>
466 <value name="word" type="string"/>
469 <value name="sender-type" type="option" value="contains"/>
470 <value name="sender" type="string"/>
473 <value name="recipient-type" type="option" value="contains"/>
474 <value name="recipient" type="address"/>
480 <rule grouping="any" source="demand">
481 <_title>Subject contains</_title>
483 <part name="subject">
484 <value name="subject-type" type="option" value="contains"/>
485 <value name="subject" type="string"/>
491 <rule grouping="any" source="demand">
492 <_title>Sender contains</_title>
495 <value name="sender-type" type="option" value="contains"/>
496 <value name="sender" type="string"/>
502 <rule grouping="any" source="demand">
503 <_title>Body contains</_title>
506 <value name="body-type" type="option" value="contains"/>
507 <value name="word" type="string"/>