[Dovecot] Problem with sieve. dovecot 2.0.17

Bill Shirley Bill at KnoxvilleChristian.org
Wed Oct 24 04:15:34 EEST 2012


On 10/23/2012 11:19 AM, Eliezer Croitoru wrote:
> Since I have lots of filtering rules in thunderbird I was thinking of 
> using sieve instead.
> I want to filter incoming mail into subdirectories.
> like "from" store at folder "old".
> the script is:
> require ["fileinto", "envelope"];
> if envelope :is "from" "eliezer at test.dom" {
>   fileinto "old";
> } else {
>   # The rest goes into INBOX
>   # default is "implicit keep", we do it explicitly here
>   keep;
> }
>
> the result is that the mail is stored in two folders instead of just 
> one, INBOX and old.
> the logs shows:
> Oct 23 17:12:26 lda(eliezer at ngtech.co.il): Debug: sieve: executing 
> script from /home/vmail/domain/eliezer/home/.dovecot.svbin
> Oct 23 17:12:26 lda(eliezer at test1.dom): Info: sieve: 
> msgid=<5086B3C9.5030909 at test.dom>: stored mail into mailbox 'INBOX'
> Oct 23 17:12:26 lda(eliezer at test1.dom): Info: sieve: 
> msgid=<5086B3C9.5030909 at test.dom>: stored mail into mailbox 'old'
>
> from unknown reason(or I didnt understood how sieve works?)
>
> plugin section from dovecot -n
>
> plugin {
> ...
>   sieve = ~/.dovecot.sieve
>   sieve_dir = ~/sieve
>   sieve_extensions = +vnd.dovecot.debug +imapflags +relational 
> +comparator-i;ascii-numeric
> }
>
> Thanks,
> Eliezer
Why to people bother with all these complex if...elsif...else 
structures.  I just use stop a lot.  This is included from my Main.seive:
#
# 2012-07-05
#
require "include";
require "fileinto";
require "copy";
#require "body";
#require "imap4flags";

# put this in main
#if header :contains "list-id" "dovecot.dovecot.org" { include "Dovecot"; }

if address :is :localpart "to" "dovecot" {
   fileinto :copy "SystemFolders.Ham";
   fileinto "Lists.Dovecot";
   stop;
}

fileinto "Lists";
stop;

As you can see, I also train Spamassassin with the mail from the list.

Bill





More information about the dovecot mailing list