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.