4 # Mailserver mit PostgreSQL
6 virtual_mailbox_domains = pgsql:/etc/postfix/virtual-mailbox-domains.cf
7 virtual_mailbox_maps = pgsql:/etc/postfix/virtual-mailbox-maps.cf
8 virtual_alias_maps = pgsql:/etc/postfix/virtual-alias-maps.cf
9 virtual_uid_maps = static:112
10 virtual_gid_maps = static:116
11 # mailbox_command = /usr/lib/dovecot/deliver
12 # mailbox_command = /usr/bin/spamc -e /usr/lib/dovecot/deliver
13 virtual_transport = dovecot
14 # dovecot_destination_recipient_limit = 1
22 query = SELECT forward
24 JOIN vmail_domain d ON u.vmail_domain_id=d.id
25 WHERE u.username || '@' || d.name = '%s' AND forward IS NOT NULL AND forward <> '' AND active = 1
27 Query mit Catchall mittels u.username = '*'
29 query = SELECT forward
31 JOIN vmail_domain d ON u.vmail_domain_id=d.id
32 WHERE (u.username || '@' || d.name = '%s' OR u.username || '@' || d.name = '*' || substring('%s' from position('@' in '%s')))
33 AND forward IS NOT NULL AND forward <> '' AND active = 1
36 virtual-mailbox-domains.cf
46 virtual-mailbox-maps.cf
54 JOIN vmail_domain d ON u.vmail_domain_id=d.id
55 WHERE lower(u.username) || '@' || lower(d.name) = lower('%s') AND (forward IS NULL OR forward = '') AND active = 1
57 /etc/dovecot/dovecot-sql.conf.ext
60 connect = host=localhost dbname=void user=vmail password=hfDcHCxXeVPhahjX
61 default_pass_scheme = PLAIN-MD5
62 # SELECT home, uid, gid FROM users WHERE username = '%n' AND domain = '%d')
63 password_query = SELECT password \
65 JOIN vmail_domain d ON v.vmail_domain_id=d.id \
66 WHERE v.username='%n' AND d.name='%d' AND password IS NOT NULL AND active = 1
68 /etc/dovecot/conf.d/10-mail.conf