Tim Traver
2010-Nov-19 14:26 UTC
[Dovecot] lda sieve error using global after sieve script
Hi all, ok, so I've implemented an after sieve script with the following line in the plugins area : sieve_after = /home/mailboxes/sieve/to_spam_folder.sieve It seems to work ok on some accounts, but then I'm getting the following error in the deliver error log for many accounts : Error: sieve: script /home/mailboxes/sieve/to_spam_folder.sieve failed with unsuccessful implicit keep here is the script : require ["fileinto"]; # rule:[Spam and Virus Tag] if anyof (header :contains "Subject" "[VIRUS-TAG]", header :contains "Subject" "[SPAM-TAG]") { fileinto "Spam"; stop; } which is a very basic script that files stuff into the spam folder. I've checked some of the accounts, and the folder is there, and all appears to be ok... I'm not sure if its a compiling error or something, and I'm not sure if that error message means the message didn't even get delivered anywhere. it sounds like it gets discarded...does it? any help would be appreciated. here is my dovecot -n : [root at mda1 /local/logs]# dovecot -n # 2.0.7: /usr/local/etc/dovecot/dovecot.conf # OS: FreeBSD 7.0-STABLE i386 auth_username_format = %Lu auth_username_translation = %@ auth_verbose = yes dotlock_use_excl = yes first_valid_uid = 100 listen = * lock_method = dotlock log_path = /local/logs/dovecot.errors mail_fsync = always mail_gid = 100 mail_location = maildir:%h/Maildir mail_nfs_index = yes mail_nfs_storage = yes mail_uid = 100 managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date imapflags notify mmap_disable = yes passdb { args = /bin/checkpassword_dovecot_auth driver = checkpassword } plugin { quota = maildir sieve = ~/.dovecot.sieve sieve_after = /home/mailboxes/sieve/to_spam_folder.sieve sieve_dir = ~/Maildir/sieve sieve_extensions = +notify +imapflags } protocols = none quota_full_tempfail = yes service auth { unix_listener auth-userdb { group = sn mode = 0600 user = sn } } ssl = no ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem userdb { driver = prefetch } userdb { args = /bin/checkpassword_dovecot_deliver driver = checkpassword } verbose_proctitle = yes protocol lda { info_log_path = /local/logs/dovecot-deliver.log log_path = /local/logs/dovecot-deliver-errors.log mail_plugins = quota sieve } protocol imap { mail_plugins = quota imap_quota } protocol sieve { managesieve_sieve_capability = comparator-i;ascii-numeric fileinto reject vacation imapflags notify include envelope body relational regex subaddress copy } protocol pop3 { pop3_client_workarounds = outlook-no-nuls oe-ns-eoh }
Tim Traver
2010-Nov-19 19:13 UTC
[Dovecot] lda sieve error using global after sieve script
I may have found the issue myself. It looks like the line before that error line is the quota error that looks something like this : Quota exceeded (mailbox for user is full) so, that brings the question as to what happens to this email? Does the dovecot lda bounce it? Thanks, Tim. On 11/19/2010 6:26 AM, Tim Traver wrote:> Hi all, > > ok, so I've implemented an after sieve script with the following line > in the plugins area : > > sieve_after = /home/mailboxes/sieve/to_spam_folder.sieve > > It seems to work ok on some accounts, but then I'm getting the following > error in the deliver error log for many accounts : > > Error: sieve: script /home/mailboxes/sieve/to_spam_folder.sieve failed > with unsuccessful implicit keep > > here is the script : > > require ["fileinto"]; > # rule:[Spam and Virus Tag] > if anyof (header :contains "Subject" "[VIRUS-TAG]", > header :contains "Subject" "[SPAM-TAG]") > { > fileinto "Spam"; > stop; > } > > which is a very basic script that files stuff into the spam folder. I've > checked some of the accounts, and the folder is there, and all appears > to be ok... > > I'm not sure if its a compiling error or something, and I'm not sure if > that error message means the message didn't even get delivered anywhere. > it sounds like it gets discarded...does it? > > any help would be appreciated. > > > > > > here is my dovecot -n : > > [root at mda1 /local/logs]# dovecot -n > # 2.0.7: /usr/local/etc/dovecot/dovecot.conf > # OS: FreeBSD 7.0-STABLE i386 > auth_username_format = %Lu > auth_username_translation = %@ > auth_verbose = yes > dotlock_use_excl = yes > first_valid_uid = 100 > listen = * > lock_method = dotlock > log_path = /local/logs/dovecot.errors > mail_fsync = always > mail_gid = 100 > mail_location = maildir:%h/Maildir > mail_nfs_index = yes > mail_nfs_storage = yes > mail_uid = 100 > managesieve_notify_capability = mailto > managesieve_sieve_capability = fileinto reject envelope > encoded-character vacation subaddress comparator-i;ascii-numeric > relational regex imap4flags copy include variables body enotify > environment mailbox date imapflags notify > mmap_disable = yes > passdb { > args = /bin/checkpassword_dovecot_auth > driver = checkpassword > } > plugin { > quota = maildir > sieve = ~/.dovecot.sieve > sieve_after = /home/mailboxes/sieve/to_spam_folder.sieve > sieve_dir = ~/Maildir/sieve > sieve_extensions = +notify +imapflags > } > protocols = none > quota_full_tempfail = yes > service auth { > unix_listener auth-userdb { > group = sn > mode = 0600 > user = sn > } > } > ssl = no > ssl_cert = </etc/ssl/certs/dovecot.pem > ssl_key = </etc/ssl/private/dovecot.pem > userdb { > driver = prefetch > } > userdb { > args = /bin/checkpassword_dovecot_deliver > driver = checkpassword > } > verbose_proctitle = yes > protocol lda { > info_log_path = /local/logs/dovecot-deliver.log > log_path = /local/logs/dovecot-deliver-errors.log > mail_plugins = quota sieve > } > protocol imap { > mail_plugins = quota imap_quota > } > protocol sieve { > managesieve_sieve_capability = comparator-i;ascii-numeric fileinto > reject vacation imapflags notify include envelope body relational regex > subaddress copy > } > protocol pop3 { > pop3_client_workarounds = outlook-no-nuls oe-ns-eoh > } >
Timo Sirainen
2010-Nov-19 20:10 UTC
[Dovecot] lda sieve error using global after sieve script
On Fri, 2010-11-19 at 11:13 -0800, Tim Traver wrote:> I may have found the issue myself. > > It looks like the line before that error line is the quota error that > looks something like this : > Quota exceeded (mailbox for user is full) > > so, that brings the question as to what happens to this email? Does the > dovecot lda bounce it?Depends on a setting: # If user is over quota, return with temporary failure instead of # bouncing the mail. #quota_full_tempfail = no