I've been at this for several days and, in spite of countless searches, haven't been able to find a solution.
I host several domains in a vps and have all email forwarded to gmail addresses, which works, but I'd like to set up my own email, so I don't have to rely on gmail anymore.
Postfix and Dovecot were installed according to the instructions here: Email with Postfix, Dovecot and MariaDB on CentOS 7
Figuring that since Squirrelmail is the most basic email client out there, I decided to start with that. It took me a few days trying to get it to receive and send email (I had to disable https access to at least have the page load - will deal with this later, and TLS is also disabled - there's no need for this if it runs in the same server as everything else).
Displaying the page correctly, though, seems a whole 'nother story. On the left panel, where the folders list is supposed to appear, I get "ERROR: Could not complete request. Query: CREATE "Sent" Reason Given: Client tried to access nonexistent namespace. (Mailbox name should probably be prefixed with: INBOX.)". Based on everything I've read (and it's been a lot), I believe that the problem is dovecot, but I might be wrong.
If someone can point out what is wrong with my configuration, I would be more than grateful.
Below are all the config files I could think of: (confidential information replaced by ####'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: (comments removed for simplicity)
namespace inbox {
inbox = yes
list = yes
}
EDIT - As per Jens' request, here's the output from "doveconf -n:"
After removing the namespace declaration from dovecote.conf, Squirrelmail is working.
# 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
}