我正在设置一个新的 dovecot 服务器(“A"),并且我正尝试从另一个 IMAP 服务器迁移一个邮箱 ("乙“,Dovecot 也是如此)。
在新服务器上A我的dovecot.conf
样子是这样的:
[…]
mapc_host = mailserver.ZZZZZZ.com
imapc_user = [email protected]
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 [email protected] imapc:
dsync([email protected]): Error: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace)
服务器A使用 sdbox、服务器乙使用方框并且没有设置分隔符(尽管我认为服务器乙此时设置应该无关紧要了吧?服务器A的帐户为空。我正在使用服务器上 FreeBSD 端口的 Dovecot 2.2.20A。
有什么提示说我遗漏了什么吗?有没有办法显示单独的命名空间及其分隔符?我遗漏了什么配置?
更新
我补充道
namespace {
separator = /
}
按照conf.d/10-mail.conf
@moonhawk 所建议的(在第一个条目之后)。
的输出doveconf namespace
为空。
现在我首先得到了这个输出:
> doveadm -o mail_fsync=never backup -R -u [email protected] imapc:
dsync([email protected]): Error: imapc([email protected]:993): connect(XX::XX::XX, 993) timed out after 30 seconds
dsync([email protected]): Error: imapc: Authentication failed: Disconnected from server
dsync([email protected]): Error: Mailbox listing for namespace '' failed: Internal error occurred. Refer to server log for more information. [YYY-MM-DD HH:MM:SS]
在下一次尝试中,我再次收到第一个错误(“[…]指定分隔符[…]”)……另一台服务器上的日志显示登录成功,但没有其他内容……
答案1
您是否为默认命名空间指定了分隔符(在“A”上)?您只提到了收件箱命名空间。使用以下命令从您的配置中转储命名空间:
doveconf namespace
看着 ”分隔符 = ...“对于每个命名空间,它应该对所有命名空间都相同。特别是查看默认命名空间
namespace {
...
separator = /
...
}
答案2
如果您在 Dovecotconf.d/
目录中添加配置,请不要忘记添加!include conf.d/*.conf
以dovecot.conf
包含它们!