Thanks! -- I figured it was stupid stuff but my head was spinning. Appreciate the help!
On Thu, Apr 30, 2015 at 4:00 PM, Stephan Bosch <stephan@rename-it.nl> wrote:
On 4/30/2015 9:15 PM, Larry Rosenman wrote:
I have a rule that sends all mail from root to a mailbox, but I want it to NOT send mail from mailing-lists there.
if allof (address :contains :localpart "From" "root", not anyof(exists ["List-Id","List-ID","Mailing-List", "X-List-Name","List-Post"])) { fileinto "root-mail"; stop; }
What am I missing in the AnyOf part? Or am I totally messed up?
A trace of the script shows the following for the provided example message:
" $ sieve-test -t - -Tlevel=matching ~/script.sieve ~/message.eml
## Started executing script 'script'
3: address test 3: starting
:contains' match with
i;ascii-casemap' comparator: 3: extractingFrom' headers from message 3: parsing address header value
m.de.groot <m.de.groot@dmdg.nl>' 3: extractinglocalpart' part from address <m.de.groot@dmdg.nl> 3: matching value
m.de.groot' 3: with keyroot' => 1 3: finishing match with result: matched 3: jump if result is false 3: not jumping 4: exists test 4: header
List-Id' exists 4: headerList-ID' exists 4: header
Mailing-List' is missing 4: headers are missing 5: jump if result is true 5: not jumping 7: fileinto action 7: store message in mailbox `root-mail' 8: stop command; end all script execution ## Finished executing script 'frop'Performed actions:
- store message in folder: root-mail
Implicit keep:
(none)
sieve-test(stephan): Info: final result: success "
So, the "exists" test returns false, because not all listed headers exist, which conforms to the specification:
RFC 5228: " 5.5. Test exists
Usage: exists <header-names: string-list>
The "exists" test is true if the headers listed in the header-names argument exist within the message. All of the headers must exist or the test is false. "
Also, your use of "anyof" is useless. The following should work:
" require "fileinto";
if allof (address :contains :localpart "From" "root", not anyof( exists "List-Id", exists "List-ID", exists "Mailing-List", exists "X-List-Name", exists "List-Post")) { fileinto "root-mail"; stop; } "
Regards,
Stephan.
-- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 (c) E-Mail: larryrtx@gmail.com US Mail: 108 Turvey Cove, Hutto, TX 78634-5688