我已经呆了好几天了,尽pipe有无数的search,但是还是找不到解决办法。
我在vps中托pipe了几个域名,并把所有的电子邮件转发到gmail地址,但是我想build立自己的电子邮件,所以我不必再依赖gmail了。
Postfix和Dovecot是按照这里的说明安装的: 在CentOS 7上用Postfix,Dovecot和MariaDB发邮件
由于Squirrelmail是最基本的电子邮件客户端,因此我决定从此开始。 我花了几天的时间试图让它接收和发送电子邮件(我不得不禁用https访问至less有页面加载 – 稍后将处理,并且TLS也被禁用 – 如果它运行没有必要在与其他一切相同的服务器上)。
正确地显示页面,似乎是一个完整的故事。 在左边的面板上,文件夹列表应该出现,我得到“错误:无法完成请求。查询:CREATE”发送“给出的原因:客户端试图访问不存在的名称空间(邮箱名称应该前缀为:INBOX )”。 基于我读过的所有东西(这已经很多了),我认为问题是鸽子,但我可能是错的。
如果有人能指出我的configuration有什么问题,我将不胜感激。
下面是我所能想到的所有configuration文件:( 机密信息由####取代)
protocols = imap pop3 log_timestamp = "%Y-%m-%d %H:%M:%S " mail_location = maildir:/home/vmail/%d/%n/Maildir ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem namespace { type = private separator = . prefix = INBOX. inbox = yes } service auth { unix_listener auth-master { mode = 0600 user = vmail } unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } user = root } service auth-worker { user = root } protocol lda { log_path = /home/vmail/dovecot-deliver.log auth_socket_path = /var/run/dovecot/auth-master postmaster_address = postmaster@##########.com } protocol pop3 { pop3_uidl_format = %08Xu%08Xv } passdb { driver = sql args = /etc/dovecot/dovecot-sql.conf.ext } userdb { driver = static args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes }
namespace inbox { inbox = yes list = yes }
编辑 – 按照Jens的要求,这里是“doveconf -n:”的输出
从dovecote.conf中删除命名空间声明后,Squirrelmail正在工作。
# 2.2.10: /etc/dovecot/dovecot.conf # OS: Linux 4.5.0-x86_64-linode65 x86_64 CentOS Linux release 7.4.1708 (Core) ext4 log_timestamp = "%Y-%m-%d %H:%M:%S " mail_location = maildir:/home/vmail/%d/%n/Maildir passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } protocols = imap pop3 service auth-worker { user = root } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0666 user = postfix } unix_listener auth-master { mode = 0600 user = vmail } user = root } ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes driver = static } protocol lda { auth_socket_path = /var/run/dovecot/auth-master log_path = /home/vmail/dovecot-deliver.log postmaster_address = postmaster@#######.com } protocol pop3 { pop3_uidl_format = %08Xu%08Xv }
谢谢你的帮忙,简斯!
删除重复的命名空间定义(一次在/etc/dovecot/dovecot.conf中,然后在/etc/dovecot/conf.d/10-mail.conf中),只留下10-mail.conf中的一个,Squirrelmail工作一般。
当在两个文件中声明名称空间时,“dovecot -n”将返回与上述第一篇文章中所示的相同的内容,但名称空间部分如下所示:
namespace { inbox = yes location = prefix = INBOX. separator = . type = private }
使用这两个configuration文件中的命名空间声明,Thunderbird和Squirrelmail抱怨相同的错误信息。 然而,Roundcube非常高兴。
“dovecot -n”不报告任何一个问题。
亚历克斯