protocols = imap pop3 lmtp
listen = *
base_dir = /var/run/dovecot/

log_path = /dev/stderr
info_log_path = /dev/stdout

ssl = yes
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key

mail_home = /var/mail/vhosts/%d/%n
mail_max_userip_connections = 10
recipient_delimiter = +

plugin {
  quota = maildir:User quota
  quota_rule = *:storage=1G
  # auth_policy_server is configured via dovecot-sql.conf.ext user_query
}

auth_policy_server_url = http://127.0.0.1:8080/auth-policy
auth_policy_server_api_header = Content-Type: application/json
auth_policy_hash_mech = sha256
auth_policy_hash_truncate = 12
auth_policy_hash_nonce = __LANQIN_AUTH_POLICY_HASH_NONCE__
auth_policy_request_attributes = login=%{requested_username} remote=%{rip} protocol=%s

namespace inbox {
  inbox = yes
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  mailbox Archive {
    auto = subscribe
    special_use = \Archive
  }
  mailbox Spam {
    auto = subscribe
    special_use = \Junk
  }
}

passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}

protocol imap {
  mail_plugins = quota imap_quota
}

protocol pop3 {
  mail_plugins = quota
}

service imap-login {
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}

service pop3-login {
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}

service lmtp {
  inet_listener lmtp {
    address = 0.0.0.0
    port = 24
  }
}

service auth {
  inet_listener postfix-auth {
    address = 0.0.0.0
    port = 12345
  }
}

protocol lmtp {
  postmaster_address = postmaster@localhost
  recipient_delimiter = +
  lda_mailbox_autocreate = yes
  lmtp_save_to_detail_mailbox = yes
}
