Converting mailboxes to UTF-8
Is any proven routine to migrate mailboxes from mUTF-7 to UTF-8 encoding?
I've try to use doveadm list/mutf7/rename but have been stuck with nested inboxes. Say I have the next structure:
INBOX INBOX.жыр INBOX.жыр.ядъ
encoded for FS respectively as
.INBOX .INBOX.&BDYESwRA- .INBOX.&BDYESwRA-.&BE8ENARK-
When I've try to rename INBOX.жыр with
doveadm mailbox rename -u me -s "INBOX.&BDYESwRA-" $(doveadm mailbox mutf7 -7 "INBOX.&BDYESwRA-")
I've get the next:
.INBOX .INBOX.жыр .INBOX.жыр.&BE8ENARK-
Sure when I've try to rename .INBOX.жыр.&BE8ENARK- I've get a message that this is not a valid mUTF7-encoded string.
So that is the question.
On 23 Jul 2016, at 13:44, Артем Перекресний <kondybas@gmail.com> wrote:
Is any proven routine to migrate mailboxes from mUTF-7 to UTF-8 encoding?
For what purpose? By default Dovecot assumes that mailboxes are mUTF-7 on filesystem.
I don't think there's any especially easy way to do that. You'd need to write a script that properly goes through the hierarchies and does the renaming.
2016-07-25 1:08 GMT+03:00 Timo Sirainen <tss@iki.fi>:
Main idea is to convert FS directories names of the inherited dovecot's v 1.x hierarcy from the mUTF-7 to the readable UTF-8 format. It's too dizzy to work with directories like .INBOX.&BDYESwRA-.&BE8ENARK-. Also logs are look weird.
Here is the quick solution: we have to list mailbox names in the reverse alnum order to be sure nested subdirs will be renamed prior to the upper level ones:
#!/bin/sh doveadm mailbox list -8 -A | sort -r | while read user utf7 do utf8=$( doveadm mailbox mutf7 -7 "$utf7" ) [ $utf7 != $utf8 ] && doveadm mailbox rename -u $user -s "$utf7" "$utf8" done
- Stop dovecot
- Add the "UTF-8" key to the
mail_location = maildir:/path/:UTF-8
- Start dovecot. Now all old folders will be shown as plain mUFT7-encoded strings (subscriptions stay correct)
- Run the script above
In my case managesieve is already configured to use UTF-8 for sieve rules
so no additional conversion needed. But if mUTF-7 is used for sieve files
doveadm mailbox mutf7
can be used for conversion.
Artem
participants (2)
-
Timo Sirainen
-
Артем Перекресний