В настоящее время я запускаю dovecot 2.x на сервере со следующим макетом почтовых ящиков:
mail_location = maildir:~/Maildir
Я хотел бы изменить макет на такой формат:
mail_location = maildir:~/Maildir:LAYOUT=fs:INBOX=~/Maildir/INBOX
Есть ли способ преобразовать макет почтового ящика для всех почтовых учетных записей, находящихся в настоящее время на сервере? Я смотрел dsync, но все примеры в вики Dovecot предназначены для преобразования между mbox и Maildir.
Я также рассматривал возможность написания сценария для ручного переименования каталогов / перемещения файлов в соответствии с новым форматом, но не был уверен, повлияет ли это на UID или другие внутренние компоненты dovecot.
Потому что ничего менять не нужно внутри каждый каталог Maildir (т.е. внутри папки, содержащей cur
, new
, tmp
каталоги и индексы dovecot), перемещение каталогов с помощью сценария будет совершенно безопасным и вполне достаточным.
Единственным исключением является сам INBOX, потому что он находится прямо в ~/Maildir
сейчас, и вы хотите переместить его в подкаталог. Но даже в этом случае я думаю, что сценарий, который заботится о том, какие файлы он перемещает, а какие нет, - лучший способ. Если вы переместите каждый простой файл из ~/Maildir
к ~/Maildir/INBOX
(охватывает все индексные файлы Dovecot) плюс cur
, new
, tmp
(покрывает само содержимое) и не трогает все остальные подкаталоги (покрывает другие папки), тогда я думаю, что это должно помочь.