2017-07-10 09:19:12 +02:00
|
|
|
# --------------------------------------------------------------------------
|
|
|
|
# Please create a file "extra.conf" for persistent overrides to dovecot.conf
|
|
|
|
# --------------------------------------------------------------------------
|
2018-11-26 09:06:34 +01:00
|
|
|
# LDAP example:
|
|
|
|
#passdb {
|
|
|
|
# args = /usr/local/etc/dovecot/ldap/passdb.conf
|
|
|
|
# driver = ldap
|
|
|
|
#}
|
|
|
|
|
2017-03-02 11:23:23 +01:00
|
|
|
auth_mechanisms = plain login
|
|
|
|
#mail_debug = yes
|
2018-02-27 20:54:46 +01:00
|
|
|
#auth_debug = yes
|
2017-05-06 23:42:07 +02:00
|
|
|
log_path = syslog
|
2017-03-02 11:23:23 +01:00
|
|
|
disable_plaintext_auth = yes
|
|
|
|
# Uncomment on NFS share
|
|
|
|
#mmap_disable = yes
|
|
|
|
#mail_fsync = always
|
|
|
|
#mail_nfs_index = yes
|
|
|
|
#mail_nfs_storage = yes
|
|
|
|
login_log_format_elements = "user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k"
|
2018-11-12 09:52:12 +01:00
|
|
|
mail_home = /var/vmail/%d/%n
|
2018-11-12 21:00:39 +01:00
|
|
|
mail_location = maildir:~/
|
2019-01-29 00:20:39 +01:00
|
|
|
mail_plugins = </usr/local/etc/dovecot/mail_plugins
|
2018-11-12 09:52:12 +01:00
|
|
|
mail_attachment_fs = crypt:set_prefix=mail_crypt_global:posix:
|
|
|
|
mail_attachment_dir = /var/attachments
|
|
|
|
mail_attachment_min_size = 128k
|
2018-01-14 10:44:06 +01:00
|
|
|
|
2018-01-09 11:28:12 +01:00
|
|
|
# Dovecot 2.2
|
2018-04-26 12:36:13 +02:00
|
|
|
#ssl_protocols = !SSLv3
|
2018-01-09 11:28:12 +01:00
|
|
|
# Dovecot 2.3
|
2018-04-26 12:36:13 +02:00
|
|
|
ssl_min_protocol = TLSv1
|
2018-01-14 10:44:06 +01:00
|
|
|
|
2017-03-02 11:23:23 +01:00
|
|
|
ssl_prefer_server_ciphers = yes
|
2018-06-26 07:50:17 +02:00
|
|
|
ssl_cipher_list = ALL:!ADH:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL:!eNULL:!3DES:!MD5:!PSK:!DSS:!RC4:!SEED:!IDEA:+HIGH:+MEDIUM
|
2018-01-14 10:44:06 +01:00
|
|
|
|
2018-01-09 11:28:12 +01:00
|
|
|
# Default in Dovecot 2.3
|
2017-03-02 11:23:23 +01:00
|
|
|
ssl_options = no_compression
|
2018-01-14 10:44:06 +01:00
|
|
|
|
2018-01-09 11:28:12 +01:00
|
|
|
# New in Dovecot 2.3
|
2018-04-26 12:36:13 +02:00
|
|
|
ssl_dh=</etc/ssl/mail/dhparams.pem
|
2018-01-14 10:44:06 +01:00
|
|
|
# Dovecot 2.2
|
2018-04-26 12:36:13 +02:00
|
|
|
#ssl_dh_parameters_length = 2048
|
2017-03-02 11:23:23 +01:00
|
|
|
log_timestamp = "%Y-%m-%d %H:%M:%S "
|
|
|
|
recipient_delimiter = +
|
|
|
|
auth_master_user_separator = *
|
2017-09-14 13:32:11 +02:00
|
|
|
mail_shared_explicit_inbox = yes
|
2017-03-02 11:23:23 +01:00
|
|
|
mail_prefetch_count = 30
|
|
|
|
passdb {
|
|
|
|
driver = passwd-file
|
2017-04-05 22:22:23 +02:00
|
|
|
args = /usr/local/etc/dovecot/dovecot-master.passwd
|
2017-03-02 11:23:23 +01:00
|
|
|
master = yes
|
|
|
|
pass = yes
|
|
|
|
}
|
|
|
|
passdb {
|
2018-07-12 00:46:31 +02:00
|
|
|
args = /usr/local/etc/dovecot/sql/dovecot-dict-sql-passdb.conf
|
2017-03-02 11:23:23 +01:00
|
|
|
driver = sql
|
2018-11-26 09:06:34 +01:00
|
|
|
result_success = return-ok
|
|
|
|
result_failure = continue
|
|
|
|
result_internalfail = continue
|
2017-03-02 11:23:23 +01:00
|
|
|
}
|
2018-12-10 23:25:37 +01:00
|
|
|
passdb {
|
|
|
|
driver = passwd-file
|
|
|
|
args = /usr/local/etc/dovecot/dovecot-master.passwd
|
|
|
|
skip = authenticated
|
|
|
|
}
|
2017-07-10 21:30:45 +02:00
|
|
|
# Set doveadm_password=your-secret-password in data/conf/dovecot/extra.conf (create if missing)
|
|
|
|
service doveadm {
|
|
|
|
inet_listener {
|
|
|
|
port = 12345
|
|
|
|
}
|
|
|
|
}
|
2017-03-02 11:23:23 +01:00
|
|
|
namespace inbox {
|
|
|
|
inbox = yes
|
|
|
|
location =
|
|
|
|
separator = /
|
|
|
|
mailbox "Trash" {
|
|
|
|
auto = subscribe
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
|
|
|
mailbox "Deleted Messages" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
|
|
|
mailbox "Deleted Items" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
2017-12-30 03:58:17 +01:00
|
|
|
mailbox "Rubbish" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
2017-03-02 11:23:23 +01:00
|
|
|
mailbox "Gelöschte Objekte" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
2018-11-14 22:18:02 +01:00
|
|
|
mailbox "Gelöschte Elemente" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
2017-03-02 11:23:23 +01:00
|
|
|
mailbox "Papierkorb" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
|
|
|
mailbox "Itens Excluidos" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
|
|
|
mailbox "Itens Excluídos" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
|
|
|
mailbox "Lixeira" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
|
|
|
mailbox "Prullenbak" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
|
|
|
mailbox "Verwijderde items" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
|
|
|
mailbox "Archive" {
|
|
|
|
auto = subscribe
|
|
|
|
special_use = \Archive
|
|
|
|
}
|
|
|
|
mailbox "Archiv" {
|
|
|
|
special_use = \Archive
|
|
|
|
}
|
|
|
|
mailbox "Archives" {
|
|
|
|
special_use = \Archive
|
|
|
|
}
|
|
|
|
mailbox "Arquivo" {
|
|
|
|
special_use = \Archive
|
|
|
|
}
|
|
|
|
mailbox "Arquivos" {
|
|
|
|
special_use = \Archive
|
|
|
|
}
|
|
|
|
mailbox "Archief" {
|
|
|
|
special_use = \Archive
|
|
|
|
}
|
|
|
|
mailbox "Sent" {
|
|
|
|
auto = subscribe
|
|
|
|
special_use = \Sent
|
|
|
|
}
|
|
|
|
mailbox "Sent Messages" {
|
|
|
|
special_use = \Sent
|
|
|
|
}
|
|
|
|
mailbox "Sent Items" {
|
|
|
|
special_use = \Sent
|
|
|
|
}
|
|
|
|
mailbox "Gesendet" {
|
|
|
|
special_use = \Sent
|
|
|
|
}
|
|
|
|
mailbox "Gesendete Objekte" {
|
|
|
|
special_use = \Sent
|
|
|
|
}
|
2018-11-14 22:18:02 +01:00
|
|
|
mailbox "Gesendete Elemente" {
|
|
|
|
special_use = \Sent
|
2017-03-02 11:23:23 +01:00
|
|
|
}
|
|
|
|
mailbox "Itens Enviados" {
|
|
|
|
special_use = \Sent
|
|
|
|
}
|
|
|
|
mailbox "Enviados" {
|
|
|
|
special_use = \Sent
|
|
|
|
}
|
|
|
|
mailbox "Verzonden items" {
|
|
|
|
special_use = \Sent
|
|
|
|
}
|
|
|
|
mailbox "Verzonden" {
|
|
|
|
special_use = \Sent
|
|
|
|
}
|
|
|
|
mailbox "Drafts" {
|
|
|
|
auto = subscribe
|
|
|
|
special_use = \Drafts
|
|
|
|
}
|
|
|
|
mailbox "Entwürfe" {
|
|
|
|
special_use = \Drafts
|
|
|
|
}
|
|
|
|
mailbox "Rascunhos" {
|
|
|
|
special_use = \Drafts
|
|
|
|
}
|
|
|
|
mailbox "Concepten" {
|
|
|
|
special_use = \Drafts
|
|
|
|
}
|
|
|
|
mailbox "Junk" {
|
|
|
|
auto = subscribe
|
|
|
|
special_use = \Junk
|
|
|
|
}
|
2017-06-25 11:32:21 +02:00
|
|
|
mailbox "Junk-E-Mail" {
|
2017-03-10 15:34:23 +01:00
|
|
|
special_use = \Junk
|
|
|
|
}
|
2017-06-25 11:32:21 +02:00
|
|
|
mailbox "Junk E-Mail" {
|
2017-03-02 11:23:23 +01:00
|
|
|
special_use = \Junk
|
|
|
|
}
|
|
|
|
mailbox "Spam" {
|
|
|
|
special_use = \Junk
|
|
|
|
}
|
|
|
|
mailbox "Lixo Eletrônico" {
|
|
|
|
special_use = \Junk
|
|
|
|
}
|
|
|
|
mailbox "Ongewenste e-mail" {
|
|
|
|
special_use = \Junk
|
|
|
|
}
|
2019-01-16 23:47:15 +01:00
|
|
|
mailbox "Koncepty" {
|
|
|
|
special_use = \Drafts
|
|
|
|
}
|
|
|
|
mailbox "Nevyžádaná pošta" {
|
|
|
|
special_use = \Junk
|
|
|
|
}
|
|
|
|
mailbox "Odstraněná pošta" {
|
|
|
|
special_use = \Trash
|
|
|
|
}
|
|
|
|
mailbox "Odeslaná pošta" {
|
|
|
|
special_use = \Sent
|
|
|
|
}
|
2017-03-02 11:23:23 +01:00
|
|
|
prefix =
|
|
|
|
}
|
|
|
|
namespace {
|
|
|
|
type = shared
|
|
|
|
separator = /
|
|
|
|
prefix = Shared/%%u/
|
2018-11-12 21:00:39 +01:00
|
|
|
location = maildir:%%h/:INDEX=~/Shared/%%u;CONTROL=~/Shared/%%u
|
2017-03-02 11:23:23 +01:00
|
|
|
subscriptions = no
|
2017-12-25 10:25:50 +01:00
|
|
|
list = children
|
2017-03-02 11:23:23 +01:00
|
|
|
}
|
|
|
|
protocols = imap sieve lmtp pop3
|
|
|
|
service dict {
|
|
|
|
unix_listener dict {
|
|
|
|
mode = 0660
|
|
|
|
user = vmail
|
|
|
|
group = vmail
|
|
|
|
}
|
|
|
|
}
|
2017-11-05 12:18:52 +01:00
|
|
|
service log {
|
|
|
|
user = dovenull
|
|
|
|
}
|
2018-11-12 09:52:12 +01:00
|
|
|
service config {
|
|
|
|
unix_listener config {
|
|
|
|
user = root
|
|
|
|
group = vmail
|
|
|
|
mode = 0660
|
|
|
|
}
|
|
|
|
}
|
2017-03-02 11:23:23 +01:00
|
|
|
service auth {
|
|
|
|
inet_listener auth-inet {
|
|
|
|
port = 10001
|
|
|
|
}
|
|
|
|
unix_listener auth-master {
|
|
|
|
mode = 0600
|
|
|
|
user = vmail
|
|
|
|
}
|
|
|
|
unix_listener auth-userdb {
|
|
|
|
mode = 0600
|
|
|
|
user = vmail
|
|
|
|
}
|
|
|
|
}
|
|
|
|
service managesieve-login {
|
|
|
|
inet_listener sieve {
|
|
|
|
port = 4190
|
|
|
|
}
|
|
|
|
service_count = 1
|
|
|
|
process_min_avail = 2
|
2018-11-12 21:00:39 +01:00
|
|
|
vsz_limit = 1G
|
2017-11-05 12:18:52 +01:00
|
|
|
}
|
|
|
|
service imap-login {
|
|
|
|
service_count = 1
|
2018-12-06 16:47:41 +01:00
|
|
|
process_limit = 10000
|
2018-11-12 21:00:39 +01:00
|
|
|
vsz_limit = 1G
|
2017-11-05 12:18:52 +01:00
|
|
|
user = dovenull
|
|
|
|
}
|
|
|
|
service pop3-login {
|
|
|
|
service_count = 1
|
2018-11-12 21:00:39 +01:00
|
|
|
vsz_limit = 1G
|
2017-03-02 11:23:23 +01:00
|
|
|
}
|
|
|
|
service imap {
|
|
|
|
executable = imap imap-postlogin
|
[Docker API] Use TLS encryption for communication with "on-the-fly" created key paris (non-exposed)
[Docker API] Create pipe to pass Rspamd UI worker password
[Dovecot] Pull Spamassassin ruleset to be read by Rspamd (MANY THANKS to Peer Heinlein!)
[Dovecot] Garbage collector for deleted maildirs (set keep time via MAILDIR_GC_TIME which defaults to 1440 minutes)
[Web] Flush memcached after mailbox item changes, fixes #1808
[Web] Fix duplicate IDs, fixes #1792
[Compose] Use SQL sockets
[PHP-FPM] Update APCu and Redis libs
[Dovecot] Encrypt maildir with global key pair in crypt-vol-1 (BACKUP!), also fixes #1791
[Web] Fix deletion of spam aliases
[Helper] Add "crypt" to backup script
[Helper] Override file for external SQL socket (not supported!)
[Compose] New images for Rspamd, PHP-FPM, SOGo, Dovecot, Docker API, Watchdog, ACME, Postfix
2018-09-29 22:01:23 +02:00
|
|
|
user = vmail
|
2018-11-12 21:00:39 +01:00
|
|
|
vsz_limit = 1G
|
2017-03-02 11:23:23 +01:00
|
|
|
}
|
|
|
|
service managesieve {
|
|
|
|
process_limit = 256
|
|
|
|
}
|
|
|
|
service lmtp {
|
|
|
|
inet_listener lmtp-inet {
|
|
|
|
port = 24
|
|
|
|
}
|
|
|
|
user = vmail
|
|
|
|
}
|
|
|
|
listen = *,[::]
|
|
|
|
ssl_cert = </etc/ssl/mail/cert.pem
|
|
|
|
ssl_key = </etc/ssl/mail/key.pem
|
2018-12-10 23:25:37 +01:00
|
|
|
userdb {
|
|
|
|
driver = passwd-file
|
|
|
|
args = /usr/local/etc/dovecot/dovecot-master.userdb
|
|
|
|
}
|
2017-03-02 11:23:23 +01:00
|
|
|
userdb {
|
2018-07-12 00:23:12 +02:00
|
|
|
args = /usr/local/etc/dovecot/sql/dovecot-dict-sql-userdb.conf
|
2017-03-02 11:23:23 +01:00
|
|
|
driver = sql
|
2018-12-10 23:25:37 +01:00
|
|
|
skip = found
|
2017-03-02 11:23:23 +01:00
|
|
|
}
|
|
|
|
protocol imap {
|
2019-01-29 00:20:39 +01:00
|
|
|
mail_plugins = </usr/local/etc/dovecot/mail_plugins_imap
|
2018-02-05 21:42:23 +01:00
|
|
|
imap_metadata = yes
|
2017-03-02 11:23:23 +01:00
|
|
|
}
|
2018-02-05 21:42:23 +01:00
|
|
|
mail_attribute_dict = file:%h/dovecot-attributes
|
2017-03-02 11:23:23 +01:00
|
|
|
protocol lmtp {
|
2019-01-29 00:20:39 +01:00
|
|
|
mail_plugins = </usr/local/etc/dovecot/mail_plugins_lmtp
|
2017-04-05 22:22:23 +02:00
|
|
|
auth_socket_path = /usr/local/var/run/dovecot/auth-master
|
2017-03-02 11:23:23 +01:00
|
|
|
}
|
|
|
|
protocol sieve {
|
|
|
|
managesieve_logout_format = bytes=%i/%o
|
|
|
|
}
|
|
|
|
plugin {
|
2018-08-17 21:44:17 +02:00
|
|
|
# Allow "any" or "authenticated" to be used in ACLs
|
2018-11-18 13:31:09 +01:00
|
|
|
acl_anyone = </usr/local/etc/dovecot/acl_anyone
|
2017-03-02 11:23:23 +01:00
|
|
|
acl_shared_dict = file:/var/vmail/shared-mailboxes.db
|
|
|
|
acl = vfile
|
2019-01-16 10:50:34 +01:00
|
|
|
fts = solr
|
|
|
|
fts_autoindex = yes
|
2019-01-29 13:25:35 +01:00
|
|
|
fts_solr = url=http://solr:8983/solr/dovecot/
|
2017-03-02 11:23:23 +01:00
|
|
|
quota = dict:Userquota::proxy::sqlquota
|
|
|
|
quota_rule2 = Trash:storage=+100%%
|
|
|
|
sieve = /var/vmail/sieve/%u.sieve
|
2017-04-05 22:22:23 +02:00
|
|
|
sieve_plugins = sieve_imapsieve sieve_extprograms
|
2018-08-13 08:31:09 +02:00
|
|
|
sieve_vacation_send_from_recipient = yes
|
2017-04-05 22:22:23 +02:00
|
|
|
# From elsewhere to Spam folder
|
|
|
|
imapsieve_mailbox1_name = Junk
|
|
|
|
imapsieve_mailbox1_causes = COPY
|
|
|
|
imapsieve_mailbox1_before = file:/usr/local/lib/dovecot/sieve/report-spam.sieve
|
|
|
|
# END
|
|
|
|
# From Spam folder to elsewhere
|
|
|
|
imapsieve_mailbox2_name = *
|
|
|
|
imapsieve_mailbox2_from = Junk
|
|
|
|
imapsieve_mailbox2_causes = COPY
|
|
|
|
imapsieve_mailbox2_before = file:/usr/local/lib/dovecot/sieve/report-ham.sieve
|
|
|
|
# END
|
|
|
|
sieve_pipe_bin_dir = /usr/local/lib/dovecot/sieve
|
2018-07-23 19:59:23 +02:00
|
|
|
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.execute +vacation-seconds
|
2017-03-02 11:23:23 +01:00
|
|
|
sieve_max_script_size = 1M
|
2018-01-09 11:28:12 +01:00
|
|
|
sieve_max_redirects = 30
|
2017-03-02 11:23:23 +01:00
|
|
|
sieve_quota_max_scripts = 0
|
|
|
|
sieve_quota_max_storage = 0
|
2017-07-31 12:41:18 +02:00
|
|
|
listescape_char = "\\"
|
2018-07-23 19:59:23 +02:00
|
|
|
sieve_vacation_min_period = 5s
|
|
|
|
sieve_vacation_max_period = 0
|
|
|
|
sieve_vacation_default_period = 60s
|
2017-11-05 12:18:52 +01:00
|
|
|
sieve_before = dict:proxy::sieve_before;name=active;bindir=/var/vmail/sieve_before_bindir
|
|
|
|
sieve_after = dict:proxy::sieve_after;name=active;bindir=/var/vmail/sieve_after_bindir
|
2017-11-03 20:25:43 +01:00
|
|
|
sieve_after2 = /var/vmail/sieve/global.sieve
|
[Docker API] Use TLS encryption for communication with "on-the-fly" created key paris (non-exposed)
[Docker API] Create pipe to pass Rspamd UI worker password
[Dovecot] Pull Spamassassin ruleset to be read by Rspamd (MANY THANKS to Peer Heinlein!)
[Dovecot] Garbage collector for deleted maildirs (set keep time via MAILDIR_GC_TIME which defaults to 1440 minutes)
[Web] Flush memcached after mailbox item changes, fixes #1808
[Web] Fix duplicate IDs, fixes #1792
[Compose] Use SQL sockets
[PHP-FPM] Update APCu and Redis libs
[Dovecot] Encrypt maildir with global key pair in crypt-vol-1 (BACKUP!), also fixes #1791
[Web] Fix deletion of spam aliases
[Helper] Add "crypt" to backup script
[Helper] Override file for external SQL socket (not supported!)
[Compose] New images for Rspamd, PHP-FPM, SOGo, Dovecot, Docker API, Watchdog, ACME, Postfix
2018-09-29 22:01:23 +02:00
|
|
|
|
|
|
|
# -- Global keys
|
|
|
|
mail_crypt_global_private_key = </mail_crypt/ecprivkey.pem
|
|
|
|
mail_crypt_global_public_key = </mail_crypt/ecpubkey.pem
|
|
|
|
mail_crypt_save_version = 2
|
|
|
|
|
2018-06-08 09:09:31 +02:00
|
|
|
# Enable compression while saving, lz4 Dovecot v2.2.11+
|
|
|
|
zlib_save = lz4
|
2018-11-12 21:00:39 +01:00
|
|
|
|
|
|
|
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
|
|
|
|
mail_log_fields = uid box msgid size
|
|
|
|
mail_log_cached_only = yes
|
2017-03-02 11:23:23 +01:00
|
|
|
}
|
|
|
|
dict {
|
2017-11-03 20:25:43 +01:00
|
|
|
sqlquota = mysql:/usr/local/etc/dovecot/sql/dovecot-dict-sql-quota.conf
|
|
|
|
sieve_after = mysql:/usr/local/etc/dovecot/sql/dovecot-dict-sql-sieve_after.conf
|
|
|
|
sieve_before = mysql:/usr/local/etc/dovecot/sql/dovecot-dict-sql-sieve_before.conf
|
2017-03-02 11:23:23 +01:00
|
|
|
}
|
|
|
|
remote 127.0.0.1 {
|
|
|
|
disable_plaintext_auth = no
|
|
|
|
}
|
|
|
|
submission_host = postfix:588
|
|
|
|
mail_max_userip_connections = 500
|
|
|
|
service imap-postlogin {
|
|
|
|
executable = script-login /usr/local/bin/postlogin.sh
|
|
|
|
unix_listener imap-postlogin {
|
|
|
|
}
|
|
|
|
}
|
2018-06-20 07:25:10 +02:00
|
|
|
service stats {
|
|
|
|
unix_listener stats-writer {
|
|
|
|
mode = 0660
|
|
|
|
user = vmail
|
|
|
|
}
|
|
|
|
}
|
2018-10-12 10:56:40 +02:00
|
|
|
imap_max_line_length = 2 M
|
2018-11-12 21:00:39 +01:00
|
|
|
auth_cache_verify_password_with_worker = yes
|
|
|
|
auth_cache_negative_ttl = 0
|
|
|
|
auth_cache_ttl = 30 s
|
|
|
|
auth_cache_size = 2 M
|
2017-07-10 09:19:12 +02:00
|
|
|
!include_try /usr/local/etc/dovecot/extra.conf
|
2018-12-10 23:25:37 +01:00
|
|
|
default_client_limit = 10400
|