main.cf # # Mailserver mit PostgreSQL # virtual_mailbox_domains = pgsql:/etc/postfix/virtual-mailbox-domains.cf virtual_mailbox_maps = pgsql:/etc/postfix/virtual-mailbox-maps.cf virtual_alias_maps = pgsql:/etc/postfix/virtual-alias-maps.cf virtual_uid_maps = static:112 virtual_gid_maps = static:116 # mailbox_command = /usr/lib/dovecot/deliver # mailbox_command = /usr/bin/spamc -e /usr/lib/dovecot/deliver virtual_transport = dovecot # dovecot_destination_recipient_limit = 1 virtual-alias-maps.cf user = vmail password = SECRET hosts = localhost dbname = void query = SELECT forward FROM vmail_user u JOIN vmail_domain d ON u.vmail_domain_id=d.id WHERE u.username || '@' || d.name = '%s' AND forward IS NOT NULL AND forward <> '' AND active = 1 virtual-mailbox-domains.cf user = vmail password = SECRET hosts = localhost dbname = void query = SELECT 1 FROM vmail_domain WHERE name = '%s' virtual-mailbox-maps.cf user = vmail password = SECRET hosts = localhost dbname = void query = SELECT 1 FROM vmail_user u JOIN vmail_domain d ON u.vmail_domain_id=d.id WHERE lower(u.username) || '@' || lower(d.name) = lower('%s') AND (forward IS NULL OR forward = '') AND active = 1 /etc/dovecot/dovecot-sql.conf.ext driver = pgsql connect = host=localhost dbname=void user=vmail password=hfDcHCxXeVPhahjX default_pass_scheme = PLAIN-MD5 # SELECT home, uid, gid FROM users WHERE username = '%n' AND domain = '%d') password_query = SELECT password \ FROM vmail_user v \ JOIN vmail_domain d ON v.vmail_domain_id=d.id \ WHERE v.username='%n' AND d.name='%d' AND password IS NOT NULL AND active = 1 /etc/dovecot/conf.d/10-mail.conf first_valid_uid = 112