Dovecot不能使用添加的公共名称空间

我们在OS X Server 4.1(10.10.3下)下运行Dovecot 2.2.5。 我试图添加一个公共文件夹的公共文件夹没有成功。

doveconf -n:

# 2.2.5: /Library/Server/Mail/Config/dovecot/dovecot.conf # OS: Darwin 14.3.0 x86_64 hfs aps_topic = com.apple.mail.XServer.1e114df5-b7cb-47ba-b258-d4460742ed64 auth_mechanisms = cram-md5 digest-md5 plain login auth_realms = office.example.com auth_socket_path = /var/run/dovecot/auth-userdb auth_username_format = %n debug_log_path = /Library/Logs/Mail/mail-debug.log default_internal_user = _dovecot default_login_user = _dovenull disable_plaintext_auth = no first_valid_gid = 6 first_valid_uid = 6 imap_id_log = * imap_id_send = "name" * "version" * imap_urlauth_submit_user = submit info_log_path = /Library/Logs/Mail/mail-info.log log_path = /Library/Logs/Mail/mail-err.log login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c mail_access_groups = mail mail_attribute_dict = file:/Library/Server/Mail/Data/attributes/attributes.dict mail_debug = yes mail_location = maildir:/Library/Server/Mail/Data/mail/%u mail_log_prefix = "%s(pid %p user %u): " mail_plugins = quota zlib acl fts fts_sk managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave mdbox_rotate_size = 200 M namespace acl-mailboxes { list = children location = maildir:/Library/Server/Mail/Data/mail/users/%%u:INDEX=/Library/Server/Mail/Data/mail/shared/%%u prefix = shared.%%u. separator = . subscriptions = no type = shared } namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = separator = . type = private } namespace list-archives { list = children location = maildir:/Library/Server/Mail/Data/listserver/messages/archive/lists/%%u:INDEX=/Library/Server/Mail/Data/listserver/messages/archive/shared/%%u prefix = archives.%%u. separator = . subscriptions = no type = shared } namespace public-junk { location = maildir:/Library/Server/Mail/Data/mail/public prefix = Public separator = . subscriptions = no type = public } passdb { driver = od } passdb { args = /Library/Server/Mail/Config/dovecot/submit.passdb driver = passwd-file } plugin { acl = vfile:/Library/Server/Mail/Config/dovecot/global-acls:cache_secs=300 acl_shared_dict = file:/Library/Server/Mail/Data/shared/shared-mailboxes fts = sk quota = maildir:User quota quota_warning = storage=100%% quota-exceeded %u quota_warning2 = storage=80%% quota-warning %u sieve = /Library/Server/Mail/Data/rules/%u/dovecot.sieve sieve_dir = /Library/Server/Mail/Data/rules/%u stats_refresh = 30 secs stats_track_cmds = yes } postmaster_address = [email protected] protocols = imap pop3 lmtp sieve quota_full_tempfail = yes service auth { idle_kill = 15 mins unix_listener auth-userdb { user = _dovecot } } service dns_client { unix_listener dns-client { mode = 0600 } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } service_count = 0 } service imap { client_limit = 5 process_limit = 200 service_count = 0 } service indexer-worker { user = _dovecot } service lmtp { unix_listener lmtp { mode = 0600 } } service managesieve-login { inet_listener sieve { port = 4190 } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service pop3 { client_limit = 5 process_limit = 200 service_count = 0 } service quota-exceeded { executable = script /Applications/Server.app/Contents/ServerRoot/usr/libexec/dovecot/quota-exceeded.sh unix_listener quota-exceeded { group = mail mode = 0660 user = _dovecot } user = _dovecot } service quota-warning { executable = script /Applications/Server.app/Contents/ServerRoot/usr/libexec/dovecot/quota-warning.sh unix_listener quota-warning { group = mail mode = 0660 user = _dovecot } user = _dovecot } service stats { fifo_listener stats-mail { mode = 0600 user = _dovecot } } ssl = required ssl_ca = </etc/certificates/*.example.com.F1198B75044505AB8E75B3ABB079E94E955EB6C1.chain.pem ssl_cert = </etc/certificates/*.example.com.F1198B75044505AB8E75B3ABB079E94E955EB6C1.cert.pem ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL:!ADH:!eNULL ssl_key = </etc/certificates/*.example.com.F1198B75044505AB8E75B3ABB079E94E955EB6C1.key.pem ssl_key_path = /etc/certificates/*.example.com.F1198B75044505AB8E75B3ABB079E94E955EB6C1.key.pem ssl_protocols = !SSLv2 !SSLv3 userdb { args = partition=/Library/Server/Mail/Config/dovecot/partition_map.conf enforce_quotas=yes driver = od } userdb { args = /Library/Server/Mail/Config/dovecot/submit.passdb driver = passwd-file } verbose_proctitle = yes protocol lmtp { mail_plugins = quota zlib acl fts fts_sk sieve push_notify } protocol lda { mail_plugins = quota zlib acl fts fts_sk sieve push_notify } protocol imap { mail_max_userip_connections = 20 mail_plugins = quota zlib acl fts fts_sk imap_acl imap_quota imap_zlib } protocol pop3 { mail_max_userip_connections = 6 } 

我添加的是:

 namespace public-junk { location = maildir:/Library/Server/Mail/Data/mail/public prefix = Public separator = . subscriptions = no type = public } 

我重新启动并尝试login后,它指出发生了内部错误:

 * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE XAPPLEPUSHSERVICE AUTH=CRAM-MD5 AUTH=DIGEST-MD5 AUTH=PLAIN AUTH=LOGIN] Dovecot ready. a1 LOGIN jay *********** * BYE Internal error occurred. Refer to server log for more information. closed 

然而,日志中确实没有什么相关的:

 May 06 16:41:38 imap(pid 54065 user jay): Debug: Effective uid=214, gid=6, home= May 06 16:41:38 imap(pid 54065 user jay): Debug: Quota root: name=User quota backend=maildir args= May 06 16:41:38 imap(pid 54065 user jay): Debug: Quota rule: root=User quota mailbox=* bytes=0 messages=0 May 06 16:41:38 imap(pid 54065 user jay): Debug: Quota warning: bytes=0 (100%) messages=0 reverse=no command=quota-exceeded jay May 06 16:41:38 imap(pid 54065 user jay): Debug: Quota warning: bytes=0 (80%) messages=0 reverse=no command=quota-warning jay May 06 16:41:38 imap(pid 54065 user jay): Debug: Quota grace: root=User quota bytes=0 (10%) May 06 16:41:38 imap(pid 54065 user jay): Debug: Namespace inbox: type=private, prefix=, sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/Library/Server/Mail/Data/mail/11BFFB08-A721-4134-8824-A99D66FEF4EE May 06 16:41:38 imap(pid 54065 user jay): Debug: maildir++: root=/Library/Server/Mail/Data/mail/11BFFB08-A721-4134-8824-A99D66FEF4EE, index=, indexpvt=, control=, inbox=/Library/Server/Mail/Data/mail/11BFFB08-A721-4134-8824-A99D66FEF4EE, alt= May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: initializing backend with data: vfile:/Library/Server/Mail/Config/dovecot/global-acls:cache_secs=300 May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: acl username = jay May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: owner = 1 May 06 16:41:38 imap(pid 54065 user jay): Debug: acl vfile: Global ACL directory: /Library/Server/Mail/Config/dovecot/global-acls May 06 16:41:38 imap(pid 54065 user jay): Debug: Namespace acl-mailboxes: type=shared, prefix=shared.%u., sep=., inbox=no, hidden=no, list=children, subscriptions=no location=maildir:/Library/Server/Mail/Data/mail/users/%u:INDEX=/Library/Server/Mail/Data/mail/shared/%u May 06 16:41:38 imap(pid 54065 user jay): Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt= May 06 16:41:38 imap(pid 54065 user jay): Debug: fts: Indexes disabled for namespace 'shared.%u.' May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: initializing backend with data: vfile:/Library/Server/Mail/Config/dovecot/global-acls:cache_secs=300 May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: acl username = jay May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: owner = 0 May 06 16:41:38 imap(pid 54065 user jay): Debug: acl vfile: Global ACL directory: /Library/Server/Mail/Config/dovecot/global-acls May 06 16:41:38 imap(pid 54065 user jay): Debug: Namespace list-archives: type=shared, prefix=archives.%u., sep=., inbox=no, hidden=no, list=children, subscriptions=no location=maildir:/Library/Server/Mail/Data/listserver/messages/archive/lists/%u:INDEX=/Library/Server/Mail/Data/listserver/messages/archive/shared/%u May 06 16:41:38 imap(pid 54065 user jay): Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt= May 06 16:41:38 imap(pid 54065 user jay): Debug: fts: Indexes disabled for namespace 'archives.%u.' May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: initializing backend with data: vfile:/Library/Server/Mail/Config/dovecot/global-acls:cache_secs=300 May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: acl username = jay May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: owner = 0 May 06 16:41:38 imap(pid 54065 user jay): Debug: acl vfile: Global ACL directory: /Library/Server/Mail/Config/dovecot/global-acls May 06 16:41:38 imap(pid 54065 user jay): Debug: Namespace public-junk: type=public, prefix=Public, sep=., inbox=no, hidden=no, list=yes, subscriptions=no location=maildir:/Library/Server/Mail/Data/mail/public May 06 16:41:38 imap(pid 54065 user jay): Debug: maildir++: root=/Library/Server/Mail/Data/mail/public, index=, indexpvt=, control=, inbox=, alt= May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: initializing backend with data: vfile:/Library/Server/Mail/Config/dovecot/global-acls:cache_secs=300 May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: acl username = jay May 06 16:41:38 imap(pid 54065 user jay): Debug: acl: owner = 0 May 06 16:41:38 imap(pid 54065 user jay): Debug: acl vfile: Global ACL directory: /Library/Server/Mail/Config/dovecot/global-acls 

任何人都可以看到我做错了什么,或build议在哪里可以find一些更有价值的信息?

好的,解决了这个问题。 有两个简单的问题:

  1. 我在debugging日志中没有看到任何东西的原因是,错误消息是不同的日志。 我认为debugging日志将包含所有消息。 我错了。 一旦我意识到这一点,并开始寻找邮件err.log,我观察到错误,这是

  2. namespace configuration error: list=yes requires prefix=Public to end with separator 。 问题是我没有公共名称空间声明中的前缀后面的分隔符:

    prefix = Public只需要prefix = Public.