Hi, I want to use managesieve in my dovecot server which uses virtual users and a ldap for the users. This is in my dovecot.conf: # 1.2.15: /etc/dovecot/dovecot.conf # OS: Linux 3.0.0-x86_64-jb1 x86_64 Debian 6.0.1 ext3 log_path: /var/log/dovecot.log info_log_path: /var/log/dovecot-info.log log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap imaps managesieve listen(default): * listen(imap): * listen(managesieve): *:2000 disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable(default): /usr/lib/dovecot/imap-login login_executable(imap): /usr/lib/dovecot/imap-login login_executable(managesieve): /usr/lib/dovecot/managesieve-login mail_privileged_group: mail mail_uid: 5000 mail_gid: 5000 mail_location: maildir:/var/mail/%u/Maildir mail_debug: yes mbox_write_locks: fcntl dotlock mail_executable(default): /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/imap mail_executable(managesieve): /usr/lib/dovecot/managesieve mail_plugin_dir(default): /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve lda: postmaster_address: pbrechler at piratenfraktion-berlin.de mail_plugins: sieve mail_plugin_dir: /usr/lib/dovecot/modules/lda auth default: mechanisms: plain login verbose: yes debug: yes passdb: driver: pam passdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf userdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail group: vmail plugin: sieve_dir: /var/mail/sievescript/%u_scripts/ sieve_extensions: +imapflags And my ldap conf: hosts = ldap.piratenfraktion-berlin.de auth_bind = yes auth_bind_userdn = uid=%u,ou=people,dc=domain,dc=de ldap_version = 3 base = dc=domaindc=de deref = never scope = subtree user_attrs = uid=mail=maildir:/var/mail/%$/Maildir/ user_filter = (|(&(objectClass=organizationalPerson)(uid=%Ln))(&(objectClass=organizationalPerson)(mail=%Lu))) pass_attrs = uid=user,userPassword=password pass_filter = (&(objectClass=organizationalPerson)(uid=%u)) If I try to talk to managesieve with telnet this happens: Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. "IMPLEMENTATION" "dovecot" "SIEVE" "fileinto reject envelope encoded-character vacation subaddress comparator- i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date imapflags" "SASL" "PLAIN LOGIN" "STARTTLS" "NOTIFY" "mailto" "VERSION" "1.0" OK "Dovecot ready." # ca. 2 Seconds pause AUTHENTICATE "PLAIN" "xxxxxxxxxxxxx" BYE "Internal error occured. Refer to server log for more information. [2011-10-02 00:48:09]" Connection closed by foreign host. Dies is a log reading 2011-10-02 00:48:09 MANAGESIEVE(user): Fatal: Failed to create sieve storage with data: /var/mail/sievescript/user_scripts But the permissions are 775 dovecot:dovecot and the system tells me that dovecot was the last user who had access to the directory. Can someone help me? Thanks! kind regards Philip Brechler -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4755 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20111005/b3e0c1e4/attachment-0004.bin>
On 10/5/2011 6:11 PM, Philip Brechler wrote:> I want to use managesieve in my dovecot server which uses virtual users and a ldap for the users. This is in my dovecot.conf: > > # 1.2.15: /etc/dovecot/dovecot.conf[...]> mail_location: maildir:/var/mail/%u/Maildir > mail_debug: yes[...]> plugin: > sieve_dir: /var/mail/sievescript/%u_scripts/[...]> If I try to talk to managesieve with telnet this happens: > > BYE "Internal error occured. Refer to server log for more information. [2011-10-02 00:48:09]" > Connection closed by foreign host. > > Dies is a log reading > > 2011-10-02 00:48:09 MANAGESIEVE(user): Fatal: Failed to create sieve storage with data: /var/mail/sievescript/user_scripts > > But the permissions are 775 dovecot:dovecot and the system tells me that dovecot was the last user who had access to the directory.I'd expect to see more errors and debug messages preceding the log line above. Looking at your config, I suspect your problem has something to do with the fact that you provide no 'home' directory for your users. The default location of the active sieve script (as configured with sieve=) is ~/.dovecot.sieve. You don't override this, so this is what you are now using. Since no home directory is defined, ~/ cannot be substituted, causing this failure (there must be an error about this in your logs somewhere). You can do something analogous to your sieve_dir setting and use % variable substitution in your sieve= setting. Still, having no home directory for your users is a bad idea. Read the wiki for more information: http://wiki2.dovecot.org/VirtualUsers/Home Also read this carefully: http://wiki2.dovecot.org/Pigeonhole/ManageSieve/Configuration Regards, Stephan.