[Dovecot] Sieve Frustrations
I'm soooo close, but this last little thing is eluding me...
I have the following Sieve rule in my global sieve rule:
require ["fileinto"]; # Move spam to spam folder if header :contains "X-Spam-Flag" "YES" { fileinto "Junk"; stop; }
This isn't firing. The .Junk folder exists under the user directories, but messages that have the X-Spam-Flag set are still going into INBOX.
My personal Sieve rules are firing properly (now), so I know Sieve is operational. Just the global rule isn't being applied.
If it helps, I set up my server according http://workaround.org/articles/ispmail-etch/ - but on a Ubuntu Gutsy server with only a few minor deviations from that article.
My protocol lda section of dovecot.conf has this: log_path = /home/vmail/dovecot-deliver.log global_script_path = /home/vmail/globalsieverc
I don't see any messages in dovecot-deliver.log that says there are problems with Sieve. The above rule is in /home/vmail/globalsieverc as mentioned here. This was working once - but when I had it going into the "spam" folder. I changed the folder name to match what ThunderBird sets up automagically for it's junk controls. But like I say, the directory does exist. So, I'm a little stumped.
Any suggestions on where I can look to sort this out? If it helps, I've attached my dovecot conf (via dovecot -n) below.
Thank you for your time!
Shawn
root@mail:~# dovecot -n # 1.0.5: /etc/dovecot/dovecot.conf log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap imaps pop3 pop3s ssl_cert_file: /etc/ssl/certs/dovecot.pem ssl_key_file: /etc/ssl/private/dovecot.pem login_dir: /var/run/dovecot/login login_executable(default): /usr/lib/dovecot/imap-login login_executable(imap): /usr/lib/dovecot/imap-login login_executable(pop3): /usr/lib/dovecot/pop3-login mail_extra_groups: mail mail_location: maildir:/home/vmail/%d/%n mail_executable(default): /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/imap mail_executable(pop3): /usr/lib/dovecot/pop3 mail_plugin_dir(default): /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3 pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %08Xu%08Xv auth default: mechanisms: plain login passdb: driver: sql args: /etc/dovecot/dovecot-sql.conf userdb: driver: passwd userdb: driver: static args: uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes socket: type: listen client: path: /var/spool/postfix/private/auth mode: 384 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail
Shawn wrote:
This isn't firing. The .Junk folder exists under the user directories, but messages that have the X-Spam-Flag set are still going into INBOX.
My personal Sieve rules are firing properly (now), so I know Sieve is operational. Just the global rule isn't being applied.
If it helps, I set up my server according http://workaround.org/articles/ispmail-etch/ - but on a Ubuntu Gutsy server with only a few minor deviations from that article.
My protocol lda section of dovecot.conf has this: log_path = /home/vmail/dovecot-deliver.log global_script_path = /home/vmail/globalsieverc
Have you compiled your globalsieverc with sievec?
milliways:~ # ll /etc/dovecot/sieve/ total 8 -rw-r--r-- 1 root root 137 Jan 6 13:03 global.sieve -rw-r--r-- 1 root root 116 Jan 6 13:04 global.sievec
-- andreas
-- http://www.cynapses.org/ - cybernetic synapses
Andreas Schneider wrote:
Have you compiled your globalsieverc with sievec?
milliways:~ # ll /etc/dovecot/sieve/ total 8 -rw-r--r-- 1 root root 137 Jan 6 13:03 global.sieve -rw-r--r-- 1 root root 116 Jan 6 13:04 global.sievec
-- andreas
(sorry Andreas - my initial response went to you directly)
I didn't until I saw your message. Tried it to a temporary location - The following command isn't giving me any errors:
root@mail:~# /usr/lib/dovecot/sievec /home/vmail/globalsieverc ./test
And the test file is a binary file with some ascii elements that match the globalsievrc file. (X-SPAM-FLAG, Junk, etc.)
There *is* a /home/vmail/globalsievercc (notice the extra C ) file that matches the test file that was created automatically. I'm assuming this is the compiled rule. But I'm still getting mail that matches that rule condition in my inbox - this should be going into the Junk folder.
still stumped...
Shawn
On Thursday 10 April 2008 02:03:56 Shawn wrote:
My personal Sieve rules are firing properly (now), so I know Sieve is operational. Just the global rule isn't being applied.
This statement is slightly confusing so I will throw this out there... dovecot will not use the global script if a user script exists.
http://wiki.dovecot.org/LDA/Sieve
# If there is no user-specific Sieve-script, global Sieve script is # executed if set. (v1.0.1 and older used "global_script_path") #sieve_global_path =
Jim
Jim Horner wrote:
On Thursday 10 April 2008 02:03:56 Shawn wrote:
My personal Sieve rules are firing properly (now), so I know Sieve is operational. Just the global rule isn't being applied.
This statement is slightly confusing so I will throw this out there... dovecot will not use the global script if a user script exists.
http://wiki.dovecot.org/LDA/Sieve
# If there is no user-specific Sieve-script, global Sieve script is # executed if set. (v1.0.1 and older used "global_script_path") #sieve_global_path =
Jim
Thank you. That makes sense. Now. :) But a little clarification...
Is that on a per user basis? i.e. If user A has personal sieve rules - the global script is not run for that user. But user B doesn't have any personal rules, so the global script applies? Or does the fact that user A has rules negate the global script for everyone?
I'm reasonably sure this is a per user thing, as that would make the most sense, but I just want to be sure I'm understanding things right.
Thanks for the polite kick.. :)
Shawn
participants (3)
-
Andreas Schneider
-
Jim Horner
-
Shawn