Migration

Dovecot 遷移失敗:“………指定分隔符………'

  • December 11, 2015

我正在設置一個新的 dovecot 伺服器(“ A ”),並且正在嘗試從另一個 IMAP 伺服器(“ B ”,Dovecot)遷移一個郵箱。

在新伺服器A上,我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我的A中未註釋的部分是:

namespace inbox {
 separator = /
 inbox = yes
}

然後我在A上執行以下命令:

> 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)

伺服器A使用 sdbox,伺服器B使用 box 並且沒有設置分隔符(儘管我認為此時伺服器B的設置不重要?伺服器A的帳戶是空的。我使用的是 Dovecot 2.2.20伺服器A上的 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]

在下一次嘗試中,我得到了第一個錯誤('

$$ … $$指定分隔符$$ … $$’) 再次…另一台伺服器上的日誌顯示成功登錄,但沒有其他…

如果您在 Dovecot 的conf.d/目錄中添加配置,請不要忘記添加!include conf.d/*.confdovecot.conf包含它們!

您是否為預設命名空間(在“A”上)指定了分隔符?您只提到了收件箱命名空間。使用以下命令從您的配置中轉儲命名空間:

doveconf namespace

查看每個命名空間的“分隔符 = … ”,它們應該是相同的。特別看預設命名空間

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

引用自:https://serverfault.com/questions/742350