Simple yet functional dovecot+postfix
This commit is contained in:
@@ -1,13 +0,0 @@
|
||||
auth_mechanisms = plain login cram-md5
|
||||
|
||||
passdb {
|
||||
driver = sql
|
||||
args = /etc/dovecot/dovecot-sql.conf.ext
|
||||
}
|
||||
|
||||
userdb {
|
||||
driver = sql
|
||||
args = /etc/dovecot/dovecot-sql.conf.ext
|
||||
}
|
||||
|
||||
#!include auth-system.conf.ext
|
||||
@@ -1,6 +0,0 @@
|
||||
# mailbox configuration
|
||||
|
||||
first_valid_gid = 70000
|
||||
first_valid_uid = 70000
|
||||
mail_access_groups = mail
|
||||
mail_location = maildir:~/Maildir
|
||||
@@ -1,43 +0,0 @@
|
||||
service imap-login {
|
||||
inet_listener imap {
|
||||
port = 143
|
||||
}
|
||||
inet_listener imaps {
|
||||
port = 993
|
||||
}
|
||||
}
|
||||
|
||||
service lmtp {
|
||||
unix_listener /var/spool/postfix/private/dovecot-lmtp {
|
||||
user = postfix
|
||||
group = postfix
|
||||
mode = 0600
|
||||
}
|
||||
}
|
||||
|
||||
service auth {
|
||||
user = doveauth
|
||||
unix_listener auth-userdb {
|
||||
}
|
||||
unix_listener /var/spool/postfix/private/dovecot-auth {
|
||||
user = postfix
|
||||
group = postfix
|
||||
mode = 0600
|
||||
}
|
||||
}
|
||||
|
||||
service auth-worker {
|
||||
unix_listener auth-worker {
|
||||
user = mail
|
||||
group = $default_internal_user
|
||||
mode = 0660
|
||||
}
|
||||
user = mail
|
||||
}
|
||||
|
||||
service dict {
|
||||
unix_listener dict {
|
||||
group = mail
|
||||
mode = 0660
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
# SSL/TLS support
|
||||
ssl = yes
|
||||
ssl_cert = </etc/ssl/cert.pem
|
||||
ssl_key = </etc/ssl/key.pem
|
||||
@@ -1,6 +0,0 @@
|
||||
# delivery configuration
|
||||
postmaster_address = admin@domain.tld
|
||||
recipient_delimiter = +
|
||||
protocol lda {
|
||||
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
# mail browsing
|
||||
protocol imap {
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
# mail delivery
|
||||
protocol lmtp {
|
||||
}
|
||||
@@ -1,18 +1,10 @@
|
||||
driver = pgsql
|
||||
connect = host=localhost dbname=mailsys user=dovecot password=$Dovecot_PASS
|
||||
driver = sqlite
|
||||
connect = /data/freeposte.db
|
||||
|
||||
# Return the user hashed password
|
||||
password_query = \
|
||||
SELECT userid AS "user", password FROM dovecotpassword('%Ln', '%Ld') WHERE %Ls
|
||||
SELECT password FROM users, domains WHERE username = '%n' AND domain = '%d'
|
||||
|
||||
# uncomment this user_query if you want to use the quota plugin
|
||||
#user_query = \
|
||||
# SELECT home, uid, gid, mail, quota_rule FROM dovecotquotauser('%Ln', '%Ld')
|
||||
|
||||
# otherwise uncomment the following user_query
|
||||
#user_query = SELECT home, uid, gid, mail FROM dovecotuser('%Ln', '%Ld')
|
||||
|
||||
iterate_query = \
|
||||
SELECT local_part AS username, domain_name.domainname AS domain \
|
||||
FROM users \
|
||||
LEFT JOIN domain_data USING (gid) \
|
||||
LEFT JOIN domain_name USING (gid)
|
||||
# Mostly get the user quota
|
||||
user_query = \
|
||||
SELECT '*:bytes=' || quota_bytes AS quota_rule FROM users WHERE username = '%n' AND domain = '%d'
|
||||
|
||||
@@ -1,2 +1,123 @@
|
||||
# handled protocols
|
||||
protocols = imap lmtp
|
||||
###############
|
||||
# General
|
||||
###############
|
||||
protocols = imap lmtp sieve
|
||||
postmaster_address = %{env:POSTMASTER_ADDRESS}
|
||||
hostname = %{env:MAIL_HOSTNAME}
|
||||
|
||||
###############
|
||||
# Mailboxes
|
||||
###############
|
||||
first_valid_gid = 8
|
||||
first_valid_uid = 8
|
||||
mail_location = maildir:/data/mail/%u
|
||||
mail_home = /data/mail/%u
|
||||
mail_uid = mail
|
||||
mail_gid = mail
|
||||
mail_privileged_group = mail
|
||||
mail_access_groups = mail
|
||||
|
||||
###############
|
||||
# TLS
|
||||
###############
|
||||
ssl = yes
|
||||
ssl_cert = </data/ssl/cert.pem
|
||||
ssl_key = </data/ssl/key.pem
|
||||
|
||||
###############
|
||||
# Authentication
|
||||
###############
|
||||
auth_mechanisms = plain login cram-md5
|
||||
|
||||
passdb {
|
||||
driver = sql
|
||||
args = /etc/dovecot/dovecot-sql.conf.ext
|
||||
}
|
||||
|
||||
userdb {
|
||||
driver = sql
|
||||
args = /etc/dovecot/dovecot-sql.conf.ext
|
||||
}
|
||||
|
||||
service auth {
|
||||
user = dovecot
|
||||
unix_listener auth-userdb {
|
||||
}
|
||||
unix_listener /var/spool/postfix/private/dovecot-auth {
|
||||
user = postfix
|
||||
group = postfix
|
||||
mode = 0600
|
||||
}
|
||||
}
|
||||
|
||||
service auth-worker {
|
||||
unix_listener auth-worker {
|
||||
user = mail
|
||||
group = $default_internal_user
|
||||
mode = 0660
|
||||
}
|
||||
user = mail
|
||||
}
|
||||
|
||||
###############
|
||||
# IMAP
|
||||
###############
|
||||
|
||||
protocol imap {
|
||||
}
|
||||
|
||||
service imap-login {
|
||||
inet_listener imap {
|
||||
port = 143
|
||||
}
|
||||
inet_listener imaps {
|
||||
port = 993
|
||||
}
|
||||
}
|
||||
|
||||
###############
|
||||
# Delivery
|
||||
###############
|
||||
|
||||
protocol lmtp {
|
||||
}
|
||||
|
||||
protocol lda {
|
||||
recipient_delimiter = +
|
||||
}
|
||||
|
||||
service lmtp {
|
||||
unix_listener /var/spool/postfix/private/dovecot-lmtp {
|
||||
user = postfix
|
||||
group = postfix
|
||||
mode = 0600
|
||||
}
|
||||
}
|
||||
|
||||
service dict {
|
||||
unix_listener dict {
|
||||
group = mail
|
||||
mode = 0660
|
||||
}
|
||||
}
|
||||
|
||||
###############
|
||||
# Filtering
|
||||
###############
|
||||
|
||||
service managesieve-login {
|
||||
inet_listener sieve {
|
||||
port = 4190
|
||||
}
|
||||
inet_listener sieve_deprecated {
|
||||
port = 2000
|
||||
}
|
||||
}
|
||||
|
||||
plugin {
|
||||
sieve = ~/.sieve
|
||||
sieve_dir = ~/sieve
|
||||
sieve_before = /var/lib/dovecot/sieve/before.sieve
|
||||
sieve_default = /var/lib/dovecot/sieve/default.sieve
|
||||
sieve_after = /var/lib/dovecot/sieve/after.sieve
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user