For anonymization reasons, I have hidden the host and domain names:
# 2.4.2 (0962ed2104): /usr/local/dovecot/etc/dovecot/dovecot.conf
# Pigeonhole version 2.4.2 (767418c3)
# OS: Linux 6.12.0-157.el10.x86_64 x86_64 CentOS Stream release 10 (Coughlan)
# Hostname: xxx.domain.tld
dovecot_config_version = 2.4.2
auth_allow_cleartext = yes
auth_allow_weak_schemes = yes
auth_default_domain = domain.tld
auth_mechanisms = plain login
auth_socket_path = /usr/local/dovecot/var/run/dovecot/auth-userdb
auth_verbose = yes
auth_verbose_passwords = sha1
dovecot_storage_version = 2.4.2
first_valid_gid = 89
first_valid_uid = 89
fts_autoindex = yes
fts_autoindex_max_recent_msgs = 999
fts_search_add_missing = yes
hostname = xxx.domain.tld
last_valid_gid = 89
last_valid_uid = 89
listen {
* = yes
:: = no
}
log_path = /dev/stderr
mail_access_groups = 89
mail_driver = maildir
mail_gid = 89
mail_path = ~/Maildir
mail_plugins {
notify = yes
quota = yes
}
mail_privileged_group = 89
mail_uid = 89
mailbox_list_validate_fs_names = no
passdb_default_password_scheme = SHA512-CRYPT
postmaster_address = [email protected]
protocols {
imap = yes
sieve = yes
}
sql_driver = mysql
passdb sql {
query = SELECT CONCAT(vpopmail.pw_name, '@', vpopmail.pw_domain) AS user,
vpopmail.pw_passwd AS password, vpopmail.pw_dir AS userdb_home, 89 AS
userdb_uid, 89 AS userdb_gid, CONCAT(REPLACE(SUBSTRING_INDEX(vpopmail.pw_shell,
'S', 1), 'NOQUOTA', '0'), 'B') AS userdb_quota_storage_size FROM vpopmail LEFT
JOIN aliasdomains ON aliasdomains.alias='%{user | domain}' LEFT JOIN limits ON
limits.domain='%{user | domain}' WHERE vpopmail.pw_name='%{user | username}'
AND (vpopmail.pw_domain='%{user | domain}' OR
vpopmail.pw_domain=aliasdomains.domain) AND ('%{local_port}'!='995' OR
!(vpopmail.pw_gid & 2)) AND ('%{remote_ip}'!='127.0.0.1' OR !(vpopmail.pw_gid &
4)) AND ('%{remote_ip}'='127.0.0.1' OR '%{local_port}'!='993' OR
!(vpopmail.pw_gid & 8)) AND ('%{remote_ip}'!='127.0.0.1' OR
COALESCE(disable_webmail,0)!=1) AND ('%{remote_ip}'='127.0.0.1' OR
COALESCE(disable_imap,0)!=1)
}
userdb prefetch {
driver = prefetch
}
userdb sql {
iterate_query = SELECT CONCAT(pw_name,'@',pw_domain) AS user FROM vpopmail
query = SELECT vpopmail.pw_dir AS home, 89 AS uid, 89 AS gid,
CONCAT(REPLACE(SUBSTRING_INDEX(vpopmail.pw_shell, 'S', 1), 'NOQUOTA', '0'),
'B') AS quota_storage_size FROM vpopmail WHERE vpopmail.pw_name='%{user |
username}' AND vpopmail.pw_domain='%{user | domain}'
}
namespace inbox {
inbox = yes
mailbox Drafts {
auto = subscribe
special_use = "\\Drafts"
}
mailbox Junk {
autoexpunge = 30d
special_use = "\\Junk"
}
mailbox Trash {
autoexpunge = 30d
special_use = "\\Trash"
quota_storage_extra = 100M
}
mailbox Sent {
special_use = "\\Sent"
}
mailbox "Sent Messages" {
special_use = "\\Sent"
}
}
maildir {
broken_filename_sizes = yes
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service imap {
}
service auth {
user = $SET:default_internal_user
unix_listener auth-userdb {
group = vchkpw
mode = 0660
user = vpopmail
}
}
service auth-worker {
user = $SET:default_internal_user
}
service stats {
unix_listener stats-reader {
group = vchkpw
mode = 0660
user = vpopmail
}
unix_listener stats-writer {
group = vchkpw
mode = 0660
user = vpopmail
}
}
protocol lda {
mail_plugins {
sieve = yes
}
}
protocol imap {
mail_plugins {
notify = yes
mail_log = yes
imap_sieve = yes
imap_quota = yes
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
service managesieve {
}
language en {
default = yes
}
quota "User quota" {
driver = maildir
storage_grace = 10M
quota_warning overquota {
quota_storage_percentage = 100
execute quota-warning {
args = 100 %{user}
}
}
quota_warning warn-95 {
quota_storage_percentage = 95
execute quota-warning {
args = 95 %{user}
}
}
quota_warning warn-85 {
quota_storage_percentage = 85
execute quota-warning {
args = 85 %{user}
}
}
}
service quota-warning {
executable = script ../../etc/scripts/quota-warning.sh
user = vpopmail
unix_listener quota-warning {
group = vchkpw
mode = 0660
user = dovenull
}
}
sieve_script personal {
active_path = ~/.sieve/dovecot.sieve
driver = file
path = ~/.sieve
}
mysql localhost {
dbname = vpopmail
password = # hidden, use -P to show it
user = vpopmail
}
ssl_server {
cert_file = /etc/pki/tls/certs/domain.tld.pem
key_file = /etc/pki/tls/private/domain.tld.key
}
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]