[Dovecot] Dovecot 1.2rc7 / Sieve Plugin problem / Namespaces
Hi,
I've got a problem with Dovecot 1.2rc7 and a Sieve script which should store eMails in a subfolder. It always fails with
Jun 28 14:56:43 deliver(): Error: sieve: msgid=4A47687D.30903@some.domain: failed to store into mailbox '': Invalid mailbox name Jun 28 14:56:43 deliver(): Error: sieve: script /home/dovecot/sieve/info/dovecot.sieve failed with unsuccessful implicit keep
This is with dovecot-libsieve.
Same happens with cmusieve, though the message is slightly different:
Jun 28 14:55:39 deliver(): Info: cmusieve: Executing script /home/dovecot/sieve/info/dovecot.sievec Jun 28 14:55:39 deliver(): Info: sieve runtime error: Keep: Generic Error
Sieve script:
if header :comparator "i;ascii-casemap" :contains "X-Spam-Level" "*****" { fileinto "INBOX/Junk"; stop; }
I tried "INBOX.Junk", "Junk", etc., but no success.
Namespace section in dovecot.conf:
namespace private { separator = / prefix = INBOX/ inbox = yes #hidden = yes #list=yes }
Same configuration works with cmusieve and Dovecot 1.1.16. I assume some problems with the namespace separator. Anyone got any ideas or got sieve running with namespace separator "/" and prefix "INBOX"?
Regards, Sebastian
On Sun, 2009-06-28 at 15:04 +0200, reg9009 wrote:
I've got a problem with Dovecot 1.2rc7 and a Sieve script which should store eMails in a subfolder. It always fails with
Jun 28 14:56:43 deliver(): Error: sieve: msgid=4A47687D.30903@some.domain: failed to store into mailbox '': Invalid mailbox name .. if header :comparator "i;ascii-casemap" :contains "X-Spam-Level" "*****" { fileinto "INBOX/Junk"; stop; }
Have you tried if it works when you run deliver -m INBOX/Junk? That would tell me if the problem is with my or Stephan's code. :)
On Tue, 2009-06-30 at 03:40 -0400, Timo Sirainen wrote:
On Sun, 2009-06-28 at 15:04 +0200, reg9009 wrote:
I've got a problem with Dovecot 1.2rc7 and a Sieve script which should store eMails in a subfolder. It always fails with
Jun 28 14:56:43 deliver(): Error: sieve: msgid=4A47687D.30903@some.domain: failed to store into mailbox '': Invalid mailbox name .. if header :comparator "i;ascii-casemap" :contains "X-Spam-Level" "*****" { fileinto "INBOX/Junk"; stop; }
Have you tried if it works when you run deliver -m INBOX/Junk? That would tell me if the problem is with my or Stephan's code. :)
BTW. Latest dovecot-libsieve + fileinto works fine here with the kind of namespace you have.
Timo Sirainen schrieb:
On Tue, 2009-06-30 at 03:40 -0400, Timo Sirainen wrote:
On Sun, 2009-06-28 at 15:04 +0200, reg9009 wrote:
I've got a problem with Dovecot 1.2rc7 and a Sieve script which should store eMails in a subfolder. It always fails with
Jun 28 14:56:43 deliver(): Error: sieve: msgid=4A47687D.30903@some.domain: failed to store into mailbox '': Invalid mailbox name
..
if header :comparator "i;ascii-casemap" :contains "X-Spam-Level" "*****" { fileinto "INBOX/Junk"; stop; }
Have you tried if it works when you run deliver -m INBOX/Junk? That would tell me if the problem is with my or Stephan's code. :)
BTW. Latest dovecot-libsieve + fileinto works fine here with the kind of namespace you have.
Hmm, I think I don't understand the deliver command line options.
If I use this in master.cf, the error occurs:
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/opt/dovecot-1.2/libexec/dovecot/deliver -c /etc/dovecot-1.2/sql/dovecot.sql.conf -f ${sender} -s -d ${user}@${nexthop} -n -m INBOX/${extension}
If I change it, sieve seems to work:
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/opt/dovecot-1.2/libexec/dovecot/deliver -c /etc/dovecot-1.2/sql/dovecot.sql.conf -f ${sender} -d ${recipient}
Is this intended? Maybe the "-m INBOX/${extension}" is the problem...? How could I combine it with "+" extension/delimiter?
Regards, Sebastian
On Tue, 2009-06-30 at 21:38 +0200, reg9009 wrote:
Jun 28 14:56:43 deliver(): Error: sieve: msgid=4A47687D.30903@some.domain: failed to store into mailbox '': Invalid mailbox name .. dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/opt/dovecot-1.2/libexec/dovecot/deliver -c /etc/dovecot-1.2/sql/dovecot.sql.conf -f ${sender} -s -d ${user}@${nexthop} -n -m INBOX/${extension}
Oh, I think this could be a bug/missing feature in Stephan's code. The idea is that to make the above configuration easier "deliver -m namespace_prefix/" will actually store the message to INBOX:
ns = mail_namespace_find(namespaces, &name);
.. if (*name == '\0') { /* delivering to a namespace prefix means we actually want to deliver to the INBOX instead */ return NULL; }
participants (2)
-
reg9009
-
Timo Sirainen