Hi,

after upgrading to Dovecot 1.2x including the rewritten Sieve plugin replacing 
'cmusieve', messages which have formerly been filed to a "Public/Mailing-List" 
maildir are no longer filtered correctly. The sieve script itself is included 
in the user's personal-script. The messages are dropped to the INBOX rather 
than the "Public Namespace Maildir". Log's don't give a hint (at least to me). 
The documentation says the personal script should automatically fetch the 
include, and compile it in the users home...

Debug log excerpt:
-----------------
>2009-07-30 10:44:09 deliver(xxxx): Info: Namespace: type=public, 
>prefix=Public/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no
>2009-07-30 10:44:09 deliver(xxxx): Info: maildir: 
>data=/var/vmail/public:CONTROL=~/maildir/public:INDEX=~/maildir/public
>2009-07-30 10:44:09 deliver(xxxx): Info: maildir++: root=/var/vmail/public, 
>index=/var/vmail/leuxner.net/tlx/maildir/public, 
>control=/var/vmail/leuxner.net/tlx/maildir/public, inbox=
>2009-07-30 10:44:09 deliver(xxxx): Info: sieve: using sieve path for user's 
>script: /var/vmail/leuxner.net/tlx/.dovecot.sieve
>2009-07-30 10:44:09 deliver(xxxx): Info: sieve: opening script 
>/var/vmail/leuxner.net/tlx/.dovecot.sieve
>2009-07-30 10:44:09 deliver(xxxx): Info: sieve: executing compiled script 
>/var/vmail/leuxner.net/tlx/.dovecot.sieve
>2009-07-30 10:44:09 deliver(xxxx): Info: Namespace : Using permissions from 
>/var/vmail/leuxner.net/tlx/maildir: mode=0750 gid=-1
>2009-07-30 10:44:09 deliver(xxxx): Info: sieve: 
>msgid=<20090730084326.gp1...@jeeves.jpl.local>: stored mail into mailbox 
>'INBOX'

Personal ".dovecot.sieve" script:
------------------------------
require ["include","copy","fileinto","vacation"];
include :global "global.sieve";

-- snip ---

Global script "global.sieve" excerpt:
------------------------------------
require ["copy","fileinto"];
#Newsletters / Mailinglists

if allof (address :is ["To","CC"] "dovecot@dovecot.org",
        header :contains "List-Id" "dovecot.dovecot.org")
        {
        fileinto "Public/Mailing-Lists.Dovecot";
        }
        elsif allof (address :is "To" "dovecot-n...@dovecot.org",
        header :contains "List-Id" "dovecot-news.dovecot.org")
        {
        fileinto :copy "Public/Newsletters.Dovecot";
        }

Thanks
Thomas

$ dovecot -n
# 1.2.1: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26-2-amd64 x86_64 Debian 5.0.2
log_path: /var/log/dovecot.log
info_log_path: /var/log/dovecot-info.log
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap
listen: 188.138.0.199:143
ssl_cert_file: /etc/ssl/certs/spectre_leuxner_net_2009.crt
ssl_key_file: /etc/ssl/private/spectre_leuxner_net_2009.key
login_dir: /var/run/dovecot/login
login_executable: /usr/lib/dovecot/imap-login
mail_privileged_group: mail
mail_location: maildir:~/maildir
mail_debug: yes
maildir_copy_preserve_filename: yes
mail_plugins: acl quota imap_quota fts fts_squat
namespace:
  type: private
  separator: /
  inbox: yes
  list: yes
  subscriptions: yes
namespace:
  type: public
  separator: /
  prefix: Public/
  location: 
maildir:/var/vmail/public:CONTROL=~/maildir/public:INDEX=~/maildir/public
  list: yes
auth default:
  passdb:
    driver: passwd-file
    args: username_format=%u /var/vmail/%d/etc/passwd
  userdb:
    driver: passwd-file
    args: username_format=%u /var/vmail/%d/etc/passwd
  socket:
    type: listen
    client:
      path: /var/spool/postfix/private/auth
      mode: 432
      user: postfix
      group: postfix
    master:
      path: /var/run/dovecot/auth-master
      mode: 384
      user: vmail
      group: vmail
plugin:
  acl: vfile:/var/vmail/%d/etc/acls:cache_secs=300
  quota: maildir:User quota
  quota_rule: *:storage=1GB
  quota_rule2: Trash:storage=10%%
  fts: squat
  fts_squat: partial=4 full=10
  sieve_global_dir: /var/vmail/%d/etc/sieve-scripts




Reply via email to