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.GP1111@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-news@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