Merge branch 'master' of ssh://luonnotar/var/git/misc/hallinta-vmail
[misc/hallinta-vmail] / postfix.txt
1 main.cf
2
3 #
4 # Mailserver mit PostgreSQL
5 #
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
15
16 virtual-alias-maps.cf
17
18 user = vmail
19 password = SECRET
20 hosts = localhost
21 dbname = void
22 query = SELECT forward
23    FROM vmail_user u
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
26
27 virtual-mailbox-domains.cf
28
29 user = vmail
30 password = SECRET
31 hosts = localhost
32 dbname = void
33 query = SELECT 1
34     FROM vmail_domain
35     WHERE name = '%s'
36
37 virtual-mailbox-maps.cf
38
39 user = vmail
40 password = SECRET
41 hosts = localhost
42 dbname = void
43 query = SELECT 1
44     FROM vmail_user u
45     JOIN vmail_domain d ON u.vmail_domain_id=d.id
46     WHERE lower(u.username) || '@' || lower(d.name) = lower('%s') AND (forward IS NULL OR forward = '') AND active = 1
47
48 /etc/dovecot/dovecot-sql.conf.ext
49
50 driver = pgsql
51 connect = host=localhost dbname=void user=vmail password=hfDcHCxXeVPhahjX
52 default_pass_scheme = PLAIN-MD5
53 # SELECT home, uid, gid FROM users WHERE username = '%n' AND domain = '%d')
54 password_query = SELECT password \
55   FROM vmail_user v \
56   JOIN vmail_domain d ON v.vmail_domain_id=d.id \
57   WHERE v.username='%n' AND d.name='%d' AND password IS NOT NULL AND active = 1
58
59 /etc/dovecot/conf.d/10-mail.conf
60
61 first_valid_uid = 112
62