Назад | Перейти на главную страницу

Ошибка миграции Dovecot: «[…] укажите разделитель […]»

Я настраиваю новый сервер dovecot ("А") и я пытаюсь перенести один почтовый ящик с другого сервера IMAP ("B", Dovecot тоже).

На новом сервере А мой dovecot.conf выглядит так:

[…]
mapc_host = mailserver.ZZZZZZ.com
imapc_user = YYYY@ZZZZZZ.com
imapc_password = XXXXXXXXXX
imapc_features = rfc822.size
# If you have Dovecot v2.2.8+ you may get a significant performance improvement with fetch-headers:
imapc_features = $imapc_features fetch-headers
# Read multiple mails in parallel, improves performance
mail_prefetch_count = 20
imapc_port = 993
imapc_ssl = imaps
#ssl_client_ca_dir = /etc/ssl
ssl_client_ca_file = /usr/local/share/certs/ca-root-nss.crt
#imapc_ssl_verify = yes

Некомментированные части в моем conf.d/10-mail.conf в А являются:

namespace inbox {
  separator = /
  inbox = yes
}

Затем я запускаю следующую команду на А:

> doveadm -o mail_fsync=never backup -R -u YYYY@ZZZZZZ.com imapc:

dsync(YYYY@ZZZZZZ.com): Error: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace)

Сервер А использует sdbox, сервер B использует поле и не имеет разделителей (хотя я думаю, что сервер Bна этом этапе настройки не должны иметь значения? Сервер ААккаунт пользователя пуст. Я использую Dovecot 2.2.20 из портов FreeBSD на сервере А.

Любой намек на то, что мне здесь не хватает? Есть ли способ отобразить отдельные пространства имен и их разделители? Конфигурация мне не хватает?


ОБНОВИТЬ

я добавил

namespace {
  separator = /
}

к conf.d/10-mail.conf как предложил @moonhawk (после первой записи).

Выход doveconf namespace пусто.

Теперь я впервые получил такой вывод:

> doveadm -o mail_fsync=never backup -R -u YYYY@ZZZZZZ.com imapc:

dsync(YYYY@ZZZZZZ.com): Error: imapc(YYYY@ZZZZZZ.com:993): connect(XX::XX::XX, 993) timed out after 30 seconds
dsync(YYYY@ZZZZZZ.com): Error: imapc: Authentication failed: Disconnected from server
dsync(YYYY@ZZZZZZ.com): Error: Mailbox listing for namespace '' failed: Internal error occurred. Refer to server log for more information. [YYY-MM-DD HH:MM:SS]

При следующей попытке я снова получил первую ошибку («[…] укажите разделитель […]»)… Журнал на другом сервере показывает успешные входы в систему, но больше ничего…

Вы указали разделитель для пространства имен по умолчанию (на «A»)? Вы упомянули только пространство имен почтового ящика. Используйте следующее, чтобы выгрузить пространства имен из вашей конфигурации:

doveconf namespace

Смотреть на "seperator = ..."для каждого пространства имен, оно должно быть одинаковым для всех. Особенно обратите внимание на пространство имен по умолчанию

namespace {
  ...
  separator = /
  ...
}

Если вы добавляете конфигурации внутри Dovecot conf.d/ каталог не забудьте добавить !include conf.d/*.confк dovecot.confвключить их!