Thank you Timo, it was my mistake. In 'plugin {}' section line 'sieve = /var/sievescripts/%n/sieve' worked for both cmusieve and sieve plugins. Command 'fileinto "INBOX/foo/bar"' with private namespace configuration you proposed - also worked in both plugins. I suspected that they have different behavior: cmusieve saved message into INBOX/foo/bar, while sieve - into foo/bar as in the deliver log I'm pasting here. But both messages were filed into the same mail folder. Difference in the logging, I think, is not a big problem.
ls -l Maildir/.foo.bar/new total 8 -rw------- 1 seriv seriv 513 Oct 30 01:57 1225331850.M790093P1351.sisyphus.office.omniti.com,W=526 -rw------- 1 seriv seriv 518 Oct 30 01:59 1225331966.M468658P1400.sisyphus.office.omniti.com,W=531 tail -n 18 /var/log/deliver/dovecot-deliver.log
deliver(seriv): Oct 30 01:57:30 Info: Loading modules from directory: /usr/lib64/dovecot/modules/lda/ deliver(seriv): Oct 30 01:57:30 Info: Module loaded: /usr/lib64/dovecot/modules/lda//lib90_cmusieve_plugin.so deliver(seriv): Oct 30 01:57:30 Info: Namespace: type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes deliver(seriv): Oct 30 01:57:30 Info: maildir: root exists (/home/seriv/Maildir) deliver(seriv): Oct 30 01:57:30 Info: maildir++: root=/home/seriv/Maildir, index=, control=, inbox=/home/seriv/Maildir deliver(seriv): Oct 30 01:57:30 Info: cmusieve: Using sieve path: /var/sieve-scripts/seriv.sieve deliver(seriv): Oct 30 01:57:30 Info: cmusieve: Executing script /var/sieve-scripts/seriv.sievec deliver(seriv): Oct 30 01:57:30 Info: Namespace INBOX/: Using permissions from /home/seriv/Maildir: mode=0644 gid=-1 deliver(seriv): Oct 30 01:57:30 Info: msgid=<20081030015649.B7936140A88@sisyphus.office.omniti.com>: saved mail to INBOX/foo/bar deliver(seriv): Oct 30 01:59:26 Info: Loading modules from directory: /usr/lib64/dovecot/modules/lda/ deliver(seriv): Oct 30 01:59:26 Info: Module loaded: /usr/lib64/dovecot/modules/lda//lib90_sieve_plugin.so deliver(seriv): Oct 30 01:59:26 Info: Namespace: type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes deliver(seriv): Oct 30 01:59:26 Info: maildir: root exists (/home/seriv/Maildir) deliver(seriv): Oct 30 01:59:26 Info: maildir++: root=/home/seriv/Maildir, index=, control=, inbox=/home/seriv/Maildir deliver(seriv): Oct 30 01:59:26 Info: sieve: using sieve path: /var/sieve-scripts/seriv.sieve deliver(seriv): Oct 30 01:59:26 Info: sieve: opening script /var/sieve-scripts/seriv.sieve deliver(seriv): Oct 30 01:59:26 Info: sieve: executing compiled script /var/sieve-scripts/seriv.sieve deliver(seriv): Oct 30 01:59:26 Info: sieve: msgid=<20081030015911.576FC140A88@sisyphus.office.omniti.com>: stored mail into mailbox 'foo/bar'
-- WBR, Sergey Ivanov.
----- "Timo Sirainen" <tss@iki.fi> wrote:
On Wed, 2008-10-29 at 20:31 +0100, Stephan Bosch wrote:
sergey ivanov schreef:
Hi Stephan, Thank you for quick fix. I've built it (from changeset 646:747107b816dc) and it looks like working with dovecot-1.2. I'm doing some testing before put it into Sisyphus repository (http://en.altlinux.org). What I saw - it does not recognize lines like:
sieve = /var/sievescripts/%n/sieve
Is this inside protocol lda {} or plugin {}? In former it's not supposed to be expanded (shouldn't have been with cmusieve either), in latter it should be.
where cmusieve did
fileinto fileinto "Inbox/R/Commits";
this new plugin require changing slashes to dots:
fileinto fileinto "Inbox.R.Commits";
With a namespace configuration like:
namespace private { separator = /
prefix = INBOX/ inbox = yes }And a script:
require ["fileinto"]; fileinto "INBOX/foo/bar";
It seems to work just fine:
deliver(tss): Oct 30 00:04:36 Info: sieve: msgid=unspecified: stored mail into mailbox 'foo.bar'
Although it probably should use the full untranslated INBOX/foo/bar name when logging (same with deliver -m INBOX/foo/bar).