[Dovecot] Renames across namespaces

Ben Winslow rain at bluecherry.net
Sat Nov 8 00:07:40 EET 2008

Will Dovecot ever support renames across namespaces?

I'm attempting to support mailboxes under "INBOX" for compatibility
with Courier, which I'm trying to replace, while also supporting
mailboxes with no prefix.  I don't want to confuse new users (who
aren't already subscribed to their mailboxes with the INBOX prefix) by
listing the entire tree twice (parented at the root and at INBOX.)

This configuration seems to provide what I want:

mail_location: maildir:~/mail
  type: private
  separator: .
  prefix: INBOX.
  inbox: yes
  hidden: yes
  type: private
  separator: .
  list: yes
  subscriptions: yes

...except that, when a legacy user tries to delete a mailbox under
INBOX, Thunderbird (at least) renames the mailbox to make it a child of
Trash at the root, e.g.:
tag123 RENAME "INBOX.test" "Trash.test"
tag123 NO Can't rename mailbox to another storage type.

I was a little surprised that it didn't work at first, since they're
both using the same (default) mail_location, but I see why it doesn't
work after looking at the code.  Is there any chance cross-namespace
(and even cross-storage _type_) wouldn't eventually be supported?  (I
guess that the big problem is making cross-type renames appear atomic
to clients.)  Is there a better way to do what I'm trying to do?

Ben Winslow <rain at bluecherry.net>

More information about the dovecot mailing list