Gregory Mokhin
2007-Sep-03 01:53 UTC
[Dovecot] recipient delimiter results in sieve errors
Hello, I'm using dovecot 1.0.3 and Dovecot Sieve plugin 1.0.2. Sieve script works fine with normal addresses, like user at domain.., and messages marked with "X-Spam-Flag: YES" are delivered directly to INBOX.Spam. To make deliver understand recipient_delimiter I tried two methods, the first one as per wiki (tweaking postfix master.cf), and the second one by tweaking dovecot-sql.conf (the main idea is to use concat(substring_index('%n',"+',1),'@','%d') for the username). Both methods work good. However when deliver processes sieve script for the addresses with a delimiter, user+ext at domain.tld, there is an error: deliver(test at k..): Info: cmusieve: Using sieve path: /home/vmail/.dovecot.sieve deliver(test at k..): Info: cmusieve: Executing script /home/vmail/.dovecot.sievec deliver(test at k..): Info: sieve runtime error: Keep: Generic Error deliver(test at k..): Error: sieve_execute_bytecode(/home/vmail/.dovecot.sievec) failed deliver(test at k..): Info: msgid=<.. at mail...>: saved mail to INBOX In that case message is delivered to INBOX, not to INBOX.Spam Regards, Gregory
On Mon, 2007-09-03 at 05:53 +0400, Gregory Mokhin wrote:> deliver(test at k..): Info: sieve runtime error: Keep: Generic Error > deliver(test at k..): Error: > sieve_execute_bytecode(/home/vmail/.dovecot.sievec) failed > deliver(test at k..): Info: msgid=<.. at mail...>: saved mail to INBOXI guess it depends on what your Sieve code looks like? Or does it give the same error even if your script is only "keep;"? -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20070909/ab23bffa/attachment-0002.bin>
Gregory Mokhin
2007-Sep-09 13:56 UTC
[Dovecot] recipient delimiter results in sieve errors
> I guess it depends on what your Sieve code looks like? Or does it give > the same error even if your script is only "keep;"?It doesn't depend on the script. Even the simplest script "stop;" gives this error. I added two debug strings to cmusieve_deliver_mail in cmusieve-plugin.c: if (getenv("DEBUG") != NULL) { i_info("cmusieve: Using mailbox: %s", mailbox); i_info("cmusieve: Using username: %s", username); i_info("cmusieve: Using sieve path: %s", script_path); } and here are some more details: deliver(mok at k...): Info: cmusieve: Using mailbox: test deliver(mok at k...): Info: cmusieve: Using username: mok at k.. deliver(mok at k..): Info: cmusieve: Using sieve path: /home/vmail/.dovecot.sieve deliver(mok at k..): Info: cmusieve: Executing script /home/vmail/.dovecot.sievec deliver(mok at k..): Info: sieve runtime error: Keep: Generic Error That is, if I send a message to mok+test at k.., in cmusieve_deliver_mail() the name of the mailbox is test. For normal address mok at k.. it is INBOX: deliver(mok at k..): Info: cmusieve: Using mailbox: INBOX deliver(mok at k..): Info: cmusieve: Using username: mok at k.. Tested with dovecot 1.0.3 and dovecot-sieve 1.0.2. Regards, Gregory