auth_mechanisms = plain login
#mail_debug = yes
log_path = /dev/stdout
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"
mail_home = /var/vmail/%d/%n
mail_location = maildir:~/
mail_plugins = quota acl zlib antispam
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
ssl_protocols = !SSLv3 !SSLv2
ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
# Automatically regenerates every week
ssl_dh_parameters_length = 2048
log_timestamp = "%Y-%m-%d %H:%M:%S "
recipient_delimiter = +
passdb {
  args = /etc/dovecot/sql/dovecot-mysql.conf
  driver = sql
}
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
  }
  mailbox "Gelöschte Objekte" {
    special_use = \Trash
  }
  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
  }
  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
  }
  mailbox "Junk E-mail" {
    special_use = \Junk
  }
  mailbox "Spam" {
    special_use = \Junk
  }
  mailbox "Lixo Eletrônico" {
    special_use = \Junk
  }
  mailbox "Ongewenste e-mail" {
    special_use = \Junk
  }
  prefix =
}
namespace {
    type = shared
    separator = /
    prefix = Shared/%%u/
    location = maildir:%%h/:INDEXPVT=~/Shared/%%u
    subscriptions = no
    list = yes
}
protocols = imap sieve lmtp pop3
service dict {
  unix_listener dict {
    mode = 0660
    user = vmail
    group = vmail
  }
}
service auth {
  inet_listener auth-inet {
    port = 10001
  }
  unix_listener auth-master {
    mode = 0600
    user = vmail
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
  user = root
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  service_count = 1
  process_min_avail = 2
  vsz_limit = 128M
}
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
userdb {
  args = /etc/dovecot/sql/dovecot-mysql.conf
  driver = sql
}
protocol imap {
  mail_plugins = quota imap_quota imap_acl acl zlib imap_zlib antispam
}
protocol lmtp {
  mail_plugins = quota sieve acl zlib
  auth_socket_path = /var/run/dovecot/auth-master
}
protocol sieve {
  managesieve_logout_format = bytes=%i/%o
}
plugin {
  acl_anyone = allow
  acl_shared_dict = file:/var/vmail/shared-mailboxes.db
  acl = vfile
  quota = dict:Userquota::proxy::sqlquota
  quota_rule2 = Trash:storage=+100%%
  antispam_backend = mailtrain
  antispam_spam    = Junk
  antispam_trash   = Trash
  antispam_mail_sendmail = /usr/local/bin/rspamd-pipe
  antispam_mail_spam     = learn_spam
  antispam_mail_notspam  = learn_ham
  # Do not complain about empty parameter
  antispam_mail_sendmail_args = --blind
  sieve = /var/vmail/sieve/%u.sieve
  sieve_after = /var/vmail/sieve/global.sieve
  sieve_max_script_size = 1M
  sieve_quota_max_scripts = 0
  sieve_quota_max_storage = 0
}
dict {
  sqlquota = mysql:/etc/dovecot/sql/dovecot-dict-sql.conf
}
remote 127.0.0.1 {
  disable_plaintext_auth = no
}
mail_max_userip_connections = 500