Hi, I want to use Sieve filtering with my Dovecot 1.2 installation on Debian squeeze. I have a virtual domain setup using Portgresql. ManageSieve works fine so far, I can edit and activate/deactive scripts (using Thunderbird + Plugin) and they show up in the filesystem where I expect them to be, see below. The problem is that LDA doesn't find the script. From /var/log/dovecot-deliver.log: | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Loading modules from directory: /usr/lib/dovecot/modules/lda | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Module loaded: /usr/lib/dovecot/modules/lda/lib10_quota_plugin.so | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Module loaded: /usr/lib/dovecot/modules/lda/lib90_sieve_plugin.so | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: mail=maildir:/srv/mail/well-adjusted.de/jrspieker | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: userdb_home=/srv/mail/home/well-adjusted.de/jrspieker | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: uid=105 | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: gid=109 | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Quota root: name=storage=512000 backend=maildir args| 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: maildir: data=/srv/mail/well-adjusted.de/jrspieker | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: maildir++: root=/srv/mail/well-adjusted.de/jrspieker, index=, control=, inbox| 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: sieve: user has no valid personal script | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: sieve: no scripts to execute: reverting to default delivery. AFAICS, the sieve module is loaded and the home directory is correct. The content of this directory looks like this: | $ ls -ltRa /srv/mail/home/well-adjusted.de/jrspieker/ | /srv/mail/home/well-adjusted.de/jrspieker/: | total 12 | drwx------ 3 vmail vmail 4096 Apr 29 12:22 . | lrwxrwxrwx 1 vmail vmail 16 Apr 29 12:22 .dovecot.sieve -> sieve/test.sieve | drwx------ 3 vmail vmail 4096 Apr 28 22:31 sieve | drwx------ 3 vmail vmail 4096 Apr 27 20:55 .. | | /srv/mail/home/well-adjusted.de/jrspieker/sieve: | total 16 | drwx------ 3 vmail vmail 4096 Apr 29 12:22 .. | drwx------ 3 vmail vmail 4096 Apr 28 22:31 . | drwx------ 2 vmail vmail 4096 Apr 28 22:31 tmp | -rw------- 1 vmail vmail 338 Apr 28 22:31 test.sieve | ? dovecot -n shows this for the plugin section: | plugin: | quota: maildir:storage=512000 | sieve_dir: ~/sieve/ | sieve: ~/.dovecot.sieve And finally, the content of the script: | require["fileinto"]; | | if header :is "subject" "test" { | fileinto "Test"; | } else { | keep; | } What am I missing here? Thanks, Jochen. -- Fashion is more important to me than war, famine, disease or art. [Agree] [Disagree] <http://www.slowlydownward.com/NODATA/data_enter2.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: Digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20120429/c57d9a73/attachment-0004.bin>
On 29/04/2012 12:04, Jochen Spieker wrote:> Hi, > > I want to use Sieve filtering with my Dovecot 1.2 installation on Debian > squeeze. I have a virtual domain setup using Portgresql. > > ManageSieve works fine so far, I can edit and activate/deactive scripts (using > Thunderbird + Plugin) and they show up in the filesystem where I expect them to > be, see below. > > The problem is that LDA doesn't find the script. From > /var/log/dovecot-deliver.log: > > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Loading modules from directory: /usr/lib/dovecot/modules/lda > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Module loaded: /usr/lib/dovecot/modules/lda/lib10_quota_plugin.so > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Module loaded: /usr/lib/dovecot/modules/lda/lib90_sieve_plugin.so > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: mail=maildir:/srv/mail/well-adjusted.de/jrspieker > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: userdb_home=/srv/mail/home/well-adjusted.de/jrspieker > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: uid=105 > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: gid=109 > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Quota root: name=storage=512000 backend=maildir args> | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: maildir: data=/srv/mail/well-adjusted.de/jrspieker > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: maildir++: root=/srv/mail/well-adjusted.de/jrspieker, index=, control=, inbox> | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: sieve: user has no valid personal script > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: sieve: no scripts to execute: reverting to default delivery. > > AFAICS, the sieve module is loaded and the home directory is correct. The > content of this directory looks like this: > > | $ ls -ltRa /srv/mail/home/well-adjusted.de/jrspieker/ > | /srv/mail/home/well-adjusted.de/jrspieker/: > | total 12 > | drwx------ 3 vmail vmail 4096 Apr 29 12:22 . > | lrwxrwxrwx 1 vmail vmail 16 Apr 29 12:22 .dovecot.sieve -> sieve/test.sieve > | drwx------ 3 vmail vmail 4096 Apr 28 22:31 sieve > | drwx------ 3 vmail vmail 4096 Apr 27 20:55 .. > | > | /srv/mail/home/well-adjusted.de/jrspieker/sieve: > | total 16 > | drwx------ 3 vmail vmail 4096 Apr 29 12:22 .. > | drwx------ 3 vmail vmail 4096 Apr 28 22:31 . > | drwx------ 2 vmail vmail 4096 Apr 28 22:31 tmp > | -rw------- 1 vmail vmail 338 Apr 28 22:31 test.sieve > | ? >What user is deliver running as? -- Best Regards, Giles Coochey, CCNA Security, CCNA NetSecSpec Ltd giles.coochey at netsecspec.co.uk Tel: +44 (0) 7983 877 438 Live Messenger: giles at coochey.net http://www.netsecspec.co.uk http://www.coochey.net -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4928 bytes Desc: S/MIME Cryptographic Signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20120429/60fdada4/attachment-0004.bin>
Jochen Spieker:> > The problem is that LDA doesn't find the script.Ok, using a global script works: deliver(jrspieker at well-adjusted.de): Info: Module loaded: /usr/lib/dovecot/modules/lda/lib10_quota_plugin.so deliver(jrspieker at well-adjusted.de): Info: Module loaded: /usr/lib/dovecot/modules/lda/lib90_sieve_plugin.so deliver(jrspieker at well-adjusted.de): Info: auth input: mail=maildir:/srv/mail/well-adjusted.de/jrspieker deliver(jrspieker at well-adjusted.de): Info: auth input: userdb_home=/srv/mail/home/well-adjusted.de/jrspieker deliver(jrspieker at well-adjusted.de): Info: auth input: uid=105 deliver(jrspieker at well-adjusted.de): Info: auth input: gid=109 deliver(jrspieker at well-adjusted.de): Info: Quota root: name=storage=512000 backend=maildir argsdeliver(jrspieker at well-adjusted.de): Info: maildir: data=/srv/mail/well-adjusted.de/jrspieker deliver(jrspieker at well-adjusted.de): Info: maildir++: root=/srv/mail/well-adjusted.de/jrspieker, index=, control=, inbox=/srv/mail/well-adjusted.de/jrspieker deliver(jrspieker at well-adjusted.de): Info: sieve: using sieve path for user's script: /srv/mail/home/global/sieve/global.sieve deliver(jrspieker at well-adjusted.de): Info: sieve: opening script /srv/mail/home/global/sieve/global.sieve deliver(jrspieker at well-adjusted.de): Info: sieve: executing compiled script /srv/mail/home/global/sieve/global.sieve deliver(jrspieker at well-adjusted.de): Info: Namespace : Using permissions from /srv/mail/well-adjusted.de/jrspieker: mode=0755 gid=-1 deliver(jrspieker at well-adjusted.de): Info: sieve: msgid=<20120429132328.D581B1E9 at manowar.wasteland.homelinux.net>: stored mail into mailbox 'INBOX' I suspect LDA doesn't look for the script where I expect it to look. Again, dovecot -n show this (now including the global settings): plugin: quota: maildir:storage=512000 sieve_dir: ~/sieve/ sieve: ~/.dovecot.sieve sieve_global_path: /srv/mail/home/global/sieve/global.sieve sieve_global_dir: /srv/mail/home/global/sieve/ I would expect ~ to translate to the userdb_home from the log entry above (/srv/mail/home/well-adjusted.de/jrspieker). ManageSieve's behaviour confirms that expectation. The wiki says "A relative path (or just a filename) will be interpreted to point under the user's home directory."? This works for ManageSieve just like the ~-notation, but LDA still doesn't find the script. J. ? http://wiki.dovecot.org/LDA/Sieve/Dovecot#Per-user_Sieve_script_location -- When I get home from the supermarket I don't know what to do with all the plastic. [Agree] [Disagree] <http://www.slowlydownward.com/NODATA/data_enter2.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: Digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20120429/edb07d3c/attachment-0004.bin>
On 4/29/2012 1:04 PM, Jochen Spieker wrote:> Hi, > > I want to use Sieve filtering with my Dovecot 1.2 installation on Debian > squeeze. I have a virtual domain setup using Portgresql. > > ManageSieve works fine so far, I can edit and activate/deactive scripts (using > Thunderbird + Plugin) and they show up in the filesystem where I expect them to > be, see below. > > The problem is that LDA doesn't find the script. From > /var/log/dovecot-deliver.log: > > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Loading modules from directory: /usr/lib/dovecot/modules/lda > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Module loaded: /usr/lib/dovecot/modules/lda/lib10_quota_plugin.so > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Module loaded: /usr/lib/dovecot/modules/lda/lib90_sieve_plugin.so > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: mail=maildir:/srv/mail/well-adjusted.de/jrspieker > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: userdb_home=/srv/mail/home/well-adjusted.de/jrspieker > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: uid=105 > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: auth input: gid=109 > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: Quota root: name=storage=512000 backend=maildir args> | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: maildir: data=/srv/mail/well-adjusted.de/jrspieker > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: maildir++: root=/srv/mail/well-adjusted.de/jrspieker, index=, control=, inbox> | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: sieve: user has no valid personal script > | 2012-04-29 12:17:48 deliver(jrspieker at well-adjusted.de): Info: sieve: no scripts to execute: reverting to default delivery. > > AFAICS, the sieve module is loaded and the home directory is correct. The > content of this directory looks like this:Could you enable mail_debug in your configuration? This will provide more detail on why it is not finding a script. Regards, Stephan.