On Mon, 23 Jun 2008, Timo Sirainen wrote:
The difference is that nowadays deliver supports namespaces. How have you configured them? For example if you have INBOX/ prefix for all your private mailboxes, you'd have to save the mail to INBOX/spam, not spam.
That's funny. I had figured that deliver 1.1 didn't fully support namespaces since I couldn't get it to work. Silly me.
On our setup, postfix pipes to "deliver -d ${user}@${nexthop} -n -m ${extension}" and this works as expected so long as the mailbox is in the private namespace. If we try user+shared.test@domain, deliver logs "save failed to shared.test: Mailbox doesn't exist: test" and "saved mail to INBOX". Is there something that should be changed with the config below to get deliver to deliver to other namespaces?
Now, how to do this automatically?
As for the original question about 1.0 > 1.1 transition for configs with non-empty prefixes for their inbox namespaces: Why not have deliver prepend the prefix of the inbox namespace to the extension when the extension does not contain any separator characters?
This would preserve the old 1.0 behavior without changing anything when the namespace is specified as part of the extension.
Here's my dovecot -n output: # 1.1.1: /etc/dovecot/dovecot.conf protocols: imaps imap managesieve listen(default): 127.0.0.1:143 listen(imap): 127.0.0.1:143 listen(managesieve): 127.0.0.1:2000 ssl_listen(default): *:993 ssl_listen(imap): *:993 ssl_listen(managesieve): ssl_cert_file: /etc/ssl/dovecot/imapd.crt ssl_key_file: /etc/ssl/dovecot/imapd.key login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(managesieve): /usr/libexec/dovecot/managesieve-login login_greeting_capability(default): yes login_greeting_capability(imap): yes login_greeting_capability(managesieve): no valid_chroot_dirs: /var/mail first_valid_uid: 206 last_valid_uid: 206 first_valid_gid: 206 last_valid_gid: 206 maildir_copy_preserve_filename: yes mail_executable(default): /usr/libexec/dovecot/imap mail_executable(imap): /usr/libexec/dovecot/imap mail_executable(managesieve): /usr/libexec/dovecot/managesieve mail_plugins(default): acl mail_plugins(imap): acl mail_plugins(managesieve): mail_plugin_dir(default): /usr/lib/dovecot/imap mail_plugin_dir(imap): /usr/lib/dovecot/imap mail_plugin_dir(managesieve): /usr/lib64/dovecot/managesieve imap_client_workarounds(default): outlook-idle imap_client_workarounds(imap): outlook-idle imap_client_workarounds(managesieve): sieve_storage(default): sieve_storage(imap): sieve_storage(managesieve): ~/sieve sieve(default): sieve(imap): sieve(managesieve): ~/.dovecot.sieve namespace: type: private separator: . location: maildir:~/Maildir inbox: yes list: yes subscriptions: yes namespace: type: public separator: . prefix: shared. location: maildir:/var/mail/shared list: yes auth lda: user: postmaster passdb: driver: ldap args: /etc/dovecot/lda-ldap.conf userdb: driver: static args: allow_all_users=yes user=%Lu uid=206 gid=206 home=/var/mail/%Lu sieve_dir=~/sieve socket: type: listen master: path: /var/run/dovecot/deliver-auth mode: 384 user: vmail group: vmail auth default: mechanisms: PLAIN LOGIN user: postmaster passdb: driver: ldap args: /etc/dovecot/default-ldap.conf userdb: driver: static args: user=%Lu uid=206 gid=206 home=/var/mail/%Lu socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix plugin: acl: vfile