Hello all,
I did an install following a HOWTO document that has a fair number of positive reviews, but something went wrong along the way:
https://www.digitalocean.com/community/tutorials/how-to-configure-a-mail-ser...
I made a couple deviations. I opted to not use StartSSL keys, and decided to stay with the default keys. Also, I chose to use Squirrelmail, but not Spamassassin.
I tried to ensure that there are no issues with the Postfix installation (Dr. Venama and the team were quite helpful). I also had two Postfix book at my side, but I have none for Dovecot. While my goal is to get my server running, I would like to gain an understanding of Dovecot along the way, because sooner or later, it will break and I'll need to revisit the installation.
First hint of a problem was that Squirrelmail would say the IMAP server dropped the connection on a successful login.
So I went to a command line and used 'mail' to compose a test message from my laptop and see how the machine at Digital Ocean handled it. It didn't go over so well, in fact, it's generating errors as I'm writing this (every 5 minutes). For privacy, I swapped my domain name, for the generic example.com.
Dec 14 20:24:18 example postfix/qmgr[13624]: EF3C0C0A17: from=gary@Garys-MacBook-Pro.local, size=597, nrcpt=1 (queue active) Dec 14 20:24:18 example dovecot: lmtp(21652): Connect from local Dec 14 20:24:18 example dovecot: lmtp(21652, bob@example.com): Error: user bob@example.com: Initialization failed: namespace configuration error: inbox=yes namespace missing Dec 14 20:24:18 example dovecot: lmtp(21652): Disconnect from local: Successful quit Dec 14 20:24:18 example postfix/lmtp[21651]: EF3C0C0A17: to=bob@example.com, relay=mail.example.com[private/dovecot-lmtp], delay=168169, delays=168169/0.01/0.01/0.01, dsn=4.3.0, status=deferred (host mail.example.com[private/dovecot-lmtp] said: 451 4.3.0 bob@example.com Temporary internal error (in reply to end of DATA command))
Now when I was checking that Postfix wasn't the likely problem, one of them mentioned:
http://archives.neohapsis.com/archives/postfix/2014-12/0189.html (Postfix-users archive)
that I needed:
namespace inbox { inbox = yes }
But I'm curious why that I'm the only one that seems to have been nailed by this omission. A keyword search on 'namespace' only brought up a single comment. What are your thoughts? Below, I appended the configuration files that I modified. I tried to compress them to a minimum space for the list by omitting the comments.
# # /etc/dovecot/dovecot.conf # !include_try /usr/share/dovecot/protocols.d/*.protocol protocols = imap lmtp pop3 dict { } !include conf.d/*.conf !include_try local.conf # eof
# # /etc/dovecot/dovecot-sql.conf.ext # driver = mysql connect = host=127.0.0.1 dbname=servermail user=usermail password=changed_it default_pass_scheme = SHA512-CRYPT password_query = SELECT email as user, password FROM virtual_users WHERE email='%u'; # eof
# # /etc/dovecot/conf.d/10-auth.conf # !include auth-sql.conf.ext # eof
# # /etc/dovecot/conf.d/10-mail.conf # mail_location = maildir:/var/mail/vhosts/%d/%n mail_privileged_group = mail # eof
# # /etc/dovecot/conf.d/10-master.conf # service imap-login { inet_listener imap { port = 143 } inet_listener imaps { } }
service pop3-login { inet_listener pop3 { } inet_listener pop3s { } }
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } }
service imap { }
service pop3 { }
service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }
unix_listener auth-userdb { mode = 0600 user = vmail } user = dovecot }
service auth-worker { user = vmail }
service dict { unix_listener dict { } } # eof
# # /etc/dovecot/conf.d/10-ssl.conf # ssl=required ssl_cert =
Thanks for making it all the way down here!