I’m trying a super basic config based upon https://wiki.dovecot.org/HowTo/PostfixDovecotLMTP but before I work on shipping mail through Postfix to DoveCot, I wanted to make sure IMAP is working first, but I can’t even get a basic login to so I thought I’d see if the gurus on the list might be able to point out I’m doing wrong. The documentation is pretty good, but there were some gaps I had to guess at and I’m presuming that’s where I went wrong. I’ve turned SELinux to permissive mode, for now.
Here’s the doveconf -n: # 2.2.36 (1f10bfa63): /etc/dovecot/dovecot.conf # OS: Linux 3.10.0-1062.12.1.el7.x86_64 x86_64 CentOS Linux release 7.7.1908 (Core) # Hostname: imap first_valid_uid = 1000 listen = 192.168.1.207 mail_gid = vmail mail_home = /var/vmail/%d/%n mail_location = sdbox:~/mail mail_uid = vmail mbox_write_locks = fcntl namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = separator = / } passdb { args = scheme=PLAIN username_format=%u /etc/dovecot/users driver = passwd-file } protocols = imap lmtp service lmtp { group = vmail unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } user = vmail } ssl = no ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = # hidden, use -P to show it userdb { args = username_format=%u /etc/dovecot/users driver = passwd-file } I wasn’t sure how to set rights on the users file: [sawozny@imap var]$ cat /etc/dovecot/users t...@test.com:{plain}test [sawozny@imap var]$ ls -la /etc/dovecot/users -rw-r--r--. 1 root root 26 Jun 3 23:31 /etc/dovecot/users Also, didn’t know what rights to set on the /var/vmail directoy so I did this: drwxrwx---. 3 vmail vmail 4096 Jun 3 20:52 vmail This directory is also empty except for the lost+fond directory that comes with a disk mount point. My understanding is that the mail home and maildir will manifest automagically on first login, but if I need to prime the pump, please let me know what I need to do. For my test, I did: [sawozny@imap var]$ telnet 192.168.1.207 143 Trying 192.168.1.207... Connected to 192.168.1.207. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready. 01 LOGIN t...@test.com test 01 NO [UNAVAILABLE] Internal error occurred. Refer to server log for more information. Connection closed by foreign host. And the results in the /var/log/maillog file are: Jun 3 23:35:34 imap dovecot: auth: Error: passwd-file /etc/dovecot/users: User t...@test.com is missing userdb info Jun 3 23:35:44 imap dovecot: auth: Error: passwd-file(t...@test.com,192.168.1.207,<DBqafDan7ODAqAHP>): user not found from userdb Jun 3 23:35:44 imap dovecot: imap: Error: Authenticated user not found from userdb, auth lookup id=843055105 (auth connected 0 msecs ago, handshake 0 msecs ago, request took 0 msecs, client-pid=12047 client-id=1) Jun 3 23:35:44 imap dovecot: imap-login: Internal login failure (pid=12047 id=1) (internal failure, 1 successful auths): user=<t...@test.com>, method=PLAIN, rip=192.168.1.207, lip=192.168.1.207, mpid=12049, secured, session=<DBqafDan7ODAqAHP> I’m not sure where I’ve gone wrong. From my understanding of the documentation, all I need in the userdb is name and password. UID, GID and HOME are also indicated as required, but I set them at the system level, so why is the system telling me the user was not found? This definitely isn’t my first rodeo with Linux, but I know almost nothing about messaging so in that regard I’m a totally n00b and would really appreciate some guidance. Thanks, Scott