Estou nisso há vários dias e, apesar de inúmeras pesquisas, não consegui encontrar uma solução.
Eu hospedo vários domínios em um vps e tenho todos os e-mails encaminhados para endereços do Gmail, o que funciona, mas eu gostaria de configurar meu próprio e-mail, então não preciso mais depender do gmail.
O Postfix e o Dovecot foram instalados de acordo com as instruções aqui: E-mail com Postfix, Dovecot e MariaDB no CentOS 7
Achando que, como o Squirrelmail é o cliente de e-mail mais básico, decidi começar com isso. Demorei alguns dias tentando recebê-lo e enviar e-mail (tive que desabilitar o acesso https para pelo menos ter o carregamento da página - vou lidar com isso mais tarde, e o TLS também está desabilitado - não há necessidade disso se ele rodar no mesmo servidor que todo o resto).
Exibir a página corretamente, no entanto, parece uma história completa. No painel esquerdo, onde a lista de pastas deve aparecer, recebo "ERRO: Não foi possível concluir a solicitação. Consulta: CREATE" Enviado "Razão: Cliente tentou acessar o espaço de nomes inexistente. (O nome da caixa de correio provavelmente deve ser prefixado com: INBOX .) " Baseado em tudo que eu li (e tem sido muito), eu acredito que o problema é dovecot, mas eu posso estar errado.
Se alguém puder apontar o que está errado na minha configuração, eu ficaria muito grato.
Abaixo estão todos os arquivos de configuração que eu pude pensar: (informações confidenciais substituídas por ####'s)
/etc/dovecot/dovecot.conf:
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 }
/etc/dovecot/conf.d/10-mail.conf: (comentários removidos para simplificar)
namespace inbox {
inbox = yes
list = yes
}
EDIT - De acordo com o pedido de Jens, aqui está a saída de "doveconf -n:"
Depois de remover a declaração de namespace do dovecote.conf, o Squirrelmail está funcionando.
# 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
}