v2
dovecot_config_version = 2.4.0 dovecot_storage_version = 2.4.0
base_dir = /run/dovecot state_dir = /var/lib/dovecot default_login_user = dovecot
listen = * ::
verbose_proctitle = yes
mail_gid = mail mail_uid = mailusers mail_driver = mdbox mail_path = /data/mails/%{user | domain }/%{user | username }
mail_plugins { fts = yes fts_xapian = yes sieve = yes managesieve = yes }
# mail_debug = yes # mail_cache_max_size = 128M
ssl_server_cert = /etc/letsencrypt/live/gjnet/fullchain.pem ssl_server_key = /etc/letsencrypt/live/gjnet/privkey.pem ssl_server_dh = /etc/mail/dovecot/dh.pem
mdbox_rotate_size = 64M
default_vsz_limit = unlimited
sendmail_path = /usr/sbin/sendmail
sql_driver = mysql
mysql localhost { user = services password = MYPASSWORD dbname = services }
fts xapian { verbose = 0 }
fts_autoindex = yes fts_enforced = yes fts_decoder_driver = script fts_decoder_script_socket_path = decode2text
sieve_script default { path = /data/mails/sieve/default.sieve }
sieve_script before { path = /data/mails/sieve/after.sieve }
sieve_script after { path = /data/mails/sieve/after.sieve }
sieve_script personal { path = /data/mails/%{user | domain }/%{user | username }/sieve/default.sieve }
sieve_script global { path = /data/mails/sieve/ }
namespace inbox { inbox = yes
mailbox Trash {
auto = subscribe
special_use = \Trash
fts_autoindex = no
}
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Spam {
auto = subscribe
special_use = \Junk
}
}
userdb sql { query = SELECT 1 from users where user like '%{user | username}' and domain like '%{user | domain}' and active=1 iterate_query = SELECT user AS username, domain FROM users where active=1 }
passdb sql { query = SELECT concat(user, '@', domain) AS user, password from users where user like '%{user | username}' and domain like '%{user | domain}' and active=1 }
service auth { unix_listener auth-userdb { mode = 0600 user = mailusers } }
protocols = imap pop3 sieve lmtp
service imap-login { chroot = login process_min_avail = 8 restart_request_count = unlimited }
service indexer-worker { vsz_limit = 8G process_limit = 4G }
protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep imap_max_line_length = 655360 mail_max_userip_connections = 256 # mail_plugins = $mail_plugins imap_zlib }
service pop3-login { chroot = login service_count = 0 }
protocol pop3 { mail_max_userip_connections = 256 pop3_enable_last = yes pop3_lock_session = no pop3_reuse_xuidl = yes }
service lmtp { mail_plugins { sieve = yes }
inet_listener lmtp {
address = 127.0.0.1
port = 24
}
unix_listener lmtp {
mode = 0666
}
}
service managesieve-login { chroot = login
inet_listener sieve {
port = 4190
}
inet_listener sieveold {
port = 2000
}
service_count = 0
}
protocol sieve { managesieve_implementation_string = dovecot mail_max_userip_connections = 256 managesieve_max_line_length = 65536 }
protocol lmtp { mail_plugins = $mail_plugins sieve }
protocol lda { auth_socket_path = /run/dovecot/auth-userdb hostname = mx.grosjo.net mail_plugins = $mail_plugins sieve postmaster_address = admin@grosjo.net lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes
mail_plugins {
sieve = yes
}
}
service stats { unix_listener stats-writer { mode = 0660 user = mailusers } }
service decode2text { executable = script /usr/libexec/dovecot/decode2text.sh user = dovecot unix_listener decode2text { mode = 0666 } }