#!include auth-deny.conf.ext
#!include auth-master.conf.ext
-!include auth-system.conf.ext
-#!include auth-sql.conf.ext
+#!include auth-system.conf.ext
+!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
```
$ apt install dovecot-imapd dovecot-pgsql
```
+
+Tables
+------
+
+Create database `mail_db`.
+
+```
+CREATE DATABASE mail_db;
+```
+
+Execute `mail_db_create.sql`.
+
+```
+psql --dbname=mail_db --file=databases/mail/mail_db_create.sql
+```
+
+Administration
+--------------
+
+Add a user.
+
+```
+psql --username=postgres --dbname=<database> \
+ --command="INSERT INTO users \
+
+ VALUES ('user', 'domain.com', MD5('<password>'), \
+ '/home/debian', id -u, id -g)"
+```
# connect = host=sql.example.com dbname=virtual user=virtual password=blarg
# connect = /etc/dovecot/authdb.sqlite
#
-#connect =
+connect = dbname=mail_db user=dovecot
# Default password scheme.
#
# password_query = SELECT userid AS user, pw AS password \
# FROM users WHERE userid = '%u' AND active = 'Y'
#
-#password_query = \
-# SELECT username, domain, password \
-# FROM users WHERE username = '%n' AND domain = '%d'
+password_query = \
+ SELECT username, domain, password \
+ FROM users WHERE username = '%n' AND domain = '%d' AND active = 'Y'
# userdb query to retrieve the user information. It can return fields:
# uid - System UID (overrides mail_uid setting)
# user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u'
# user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u'
#
-#user_query = \
-# SELECT home, uid, gid \
-# FROM users WHERE username = '%n' AND domain = '%d'
+user_query = \
+ SELECT home, uid, gid \
+ FROM users WHERE username = '%n' AND domain = '%d' AND active = 'Y'
# If you wish to avoid two SQL lookups (passdb + userdb), you can use
# userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll