On Thu, 2012-05-17 at 15:59 +0300, Mark Zealey wrote:
We're now migrating customers onto a dovecot-2 platform, switching from Maildir to sdbox (using dsync mirror) & changing the namespace at the same time. New namespace configuration looks like (as taken from http://wiki2.dovecot.org/Namespaces)
# This is for courier-imap namespace compatability namespace { type = private separator = / prefix = inbox = yes }
namespace { type = private prefix = INBOX. separator = . inbox = no hidden = yes list = no alias_for = }
For 99% of clients this works fine eg thunderbird on first login after migration notices the folder structure has changed & automagically redownloads folders & emails.
Since you have the migration namespace, that should keep the clients that have prefix=INBOX. in their configuration working like they did before. But yeah, if the client hadn't configured a prefix I guess they'll redownload.
However I have noticed some really strange messages in the logs which seems to be related to customers running outlook on macos. When they login after migration they are generating commands like:
dovecot: imap(xxxx): Mailbox created: INBOX 1 1 1 1 1 dovecot: imap(xxxx): Mailbox created: INBOX 1 1 1 1 1 1 dovecot: imap(xxxx): Mailbox created: INBOX 1 1 1 1 1 1 1 ...
this goes on a long time and we've not yet found a solution other than delete the imap config on their outlook and reconfigure. Does anyone have any idea why this might be happening,
No idea.
or if there is a way we can somehow have old namespaces for old customers, new namespaces for new customers (we are using sql login code so should be possible to do something like this in theory I think?)
See the bottom of http://wiki2.dovecot.org/PostLoginScripting on how to modify namespaces in a post-login script. You can then have your user_query return "old_namespace" field and based on that you either modify the namespaces or don't.