私はこれに数日間いて、数え切れないほどの検索にもかかわらず、解決策を見つけることができませんでした。
私はvpsでいくつかのドメインをホストし、すべてのメールをGmailアドレスに転送していますが、これは機能しますが、独自のメールを設定したいので、Gmailに依存する必要はありません。
PostfixとDovecotはここの指示に従ってインストールされました: CentOS 7上のPostfix、Dovecot、MariaDBを含むメール
Squirrelmailは世の中で最も基本的な電子メールクライアントであるため、私はそれから始めることにしました。メールを送受信するのに数日かかりました(少なくともページをロードするにはhttpsアクセスを無効にする必要がありました-これは後で処理し、TLSも無効になります-実行する場合はこれは必要ありません他のすべてと同じサーバー内)。
ただし、ページを正しく表示することは、まったく別の話のようです。フォルダリストが表示されるはずの左側のパネルに、「エラー:リクエストを完了できませんでした。クエリ:CREATE "Sent"理由:クライアントが存在しない名前空間にアクセスしようとしました(メールボックス名の前に:INBOXを付ける必要があります)が表示されます。 。)」。私が読んだすべてに基づいて(そしてそれはたくさんありました)、私は問題は鳩小屋であると信じています、しかし私は間違っているかもしれません。
誰かが私の構成の何が悪いのかを指摘できれば、私はとても感謝しています。
以下は私が考えることができるすべての設定ファイルです:(機密情報は####に置き換えられました)
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
}
EDIT-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
}
助けてくれてありがとう、イェンス!
重複する名前空間定義を削除し(1回は/etc/dovecot/dovecot.confに、次にもう一度/etc/dovecot/conf.d/10-mail.confに)、10-mail.confから1つだけを残した後、Squirrelmailは機能します通常は。
名前空間が両方のファイルで宣言されている場合、「dovecot -n」は、名前空間セクションが次のようになることを除いて、最初の投稿(上記)に示されているものと同じものを返します。
namespace {
inbox = yes
location =
prefix = INBOX.
separator = .
type = private
}
両方の設定ファイルで名前空間を宣言すると、ThunderbirdとSquirrelmailは同じエラーメッセージで文句を言います。ただし、Roundcubeは完全に満足しています。
「dovecot-n」はどちらの方法でも問題を報告しません。
アレックス