Portál AbcLinuxu, 17. května 2024 09:06


Dotaz: MUA MTA, překročená quota

8.4. 11:10 2024
MUA MTA, překročená quota
Přečteno: 523×
Odpovědět | Admin
Zdravím,
ví tu někdo, jak fungují kvoty v Dovecotu při propojení s Imap? Hledám příčinu, proč mi Dovecot při překročení mail kvoty dál přijímá poštu. Dovecot podle logu vidí, že kvota je překročená, a snaží se provádět nějakou akci (posílá kvóta warning). Co ale dál pokud už je schránka úplně plná:
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: quota: quota_over_flag check: STORAGE ret=3value=132873 limit=97656
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: quota: quota_over_flag check: MESSAGE ret=4value=499 limit=0
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: quota: quota_over_flag=0((null)) vs currently overquota=1
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: quota: Executing warning: quota-warning mismatch kvota@learn2.cz (because quota_over_flag mismatch)
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Created
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Establishing connection
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Trying to connect
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Connected to program
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Finished input to program
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Disconnected
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Destroy
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: Mailbox INBOX: Mailbox opened
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: Mailbox INBOX: Mailbox opened
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: Mailbox INBOX: UID 500: Opened mail because: mail stream
2024-03-26 17:30:24 imap(kvota@learn2.cz)<36039>Fi2kzpIU6Dd/AAAB>: Debug: User session is finished
Jak to funguje, při překročení té kvoty? Přece Dovecot by měl asi nějak vykomunikovat s Postfixem, že už do schránky nemůže ukládat. Postfix by pak měl přestat poštu přijímat. Imap tohle asi udělat sám nemůže, že by zahodil email, nebo se pletu? (V postfixu je nastavené doručování pomocí lda) Děkuji za popostrčení ke správnému řešení.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.4. 12:34 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: MUA MTA, překročená quota
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak to funguje, při překročení té kvoty? Přece Dovecot by měl asi nějak vykomunikovat s Postfixem...
To byste měl vědět vy, jak to máte nastavené ;-) Každopádně způsobů, jak do schránky Postfix doručí poštu, existuje více. Stejně tak je víc způsobů, jak řešit kvóty. Pokud například kvóty máte vyřešené přímo v Dovecotu (například v nějaké databázi) a Postfix do schránky doručuje přímo, nemá žádnou možnost, jak zjistit, že podle Dovecotu k doručení nemá dojít.

Pak už je to na vás. Pokud kvóty implementujete pomocí kvót v souborovém systému, Postfix do schránky nebude moct uložit nic (ale uživatel se do schránky nebude moci přihlásit IMAPem, protože Dovecot potřebuje zapisovat.) Nebo můžete Postfixu říct, aby doručení zajistil tak, že se zpráva předá Dovecotu (dovecot-lda například) Ten si pak kvóty prověří.

No a to hlavní, co byste měl udělat, je použít v Dovecotu službu quota-status, která poskytuje rozhraní pro Postfix policy service. A v Postfixu nastavit, aby před přijetím zprávy u této služby zjistil, jestli je ve schránce místo. A pokud není, tak mail odmítnout hned. Když Postfix mail přijme a nebude ho moci doručit do schránky kvůli kvótě, odešle zprávu o nedoručitelnosti. Vystavte takový server do internetu a máte dost velkou šanci, že někdo přijde na to, že to máte udělané takhle - a že vám to zneužije k rozesílání spamu (pro vyhledávač: backscatter spam)
Quando omni flunkus moritati
15.4. 15:45 2024
Rozbalit Rozbalit vše Re: MUA MTA, překročená quota
Děkuji. Bohužel to není emailový server, které jsem stavěl já. Víceméně jsem k tomu přišel, jako ke skoro hotovému.

Quota-status jsem tam dal, v podstatě podle tohoto navodu. Socket tam je, v Postfixu to také je jako "check policy", akorát Postfix to prostě ignoruje. Přijímá emaily dál i přes překročení kvóty a nastavený quota-status.
MMMMMMMMM avatar 8.4. 16:48 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: MUA MTA, překročená quota
Odpovědět | | Sbalit | Link | Blokovat | Admin
V Dovecotu používám kvóty, ale nepoužívám quota_over_flag. Podle jakého návodu jsi to nastavil? Zkusil bych nepoužívat quota_over_flag.
Linux Dokumentační Projekt - PDF ke stažení
15.4. 15:38 2024
Rozbalit Rozbalit vše Re: MUA MTA, překročená quota
To quota_over_flag je skript, který by měl zařídit poslání emailu, při překročení kvóty:
service quota-warning {
  executable = script /etc/dovecot/quota-warning.sh
  user = vmail
  unix_listener quota-warning {
    user = vmail
  }
}

plugin {
  quota_over_flag_value = TRUE
  quota_over_script = quota-warning mismatch %u
}
Dal jsem to tam, protože mi to při debugu psalo:
2024-04-15 15:17:59 imap(testr@learn2.cz)<6700>ncVUcyIW1GF/AAAB>: Debug: quota: quota_over_flag check: quota_over_script unset - skipping
Teď je v logách:
2024-04-15 15:19:59 imap-login: Info: Login: user=testr@learn2.cz>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=6831, secured, session=v4x7eiIW+B5/AAAB>
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Loading modules from directory: /usr/lib/dovecot/modules
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Module loaded: /usr/lib/dovecot/modules/lib10_quota_plugin.so
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Module loaded: /usr/lib/dovecot/modules/lib11_imap_quota_plugin.so
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Module loaded: /usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Added userdb setting: plugin/quota_rule=*:storage=97656
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Effective uid=5000, gid=5000, home=/home/vmail/learn2.cz/testr
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Quota root: name=User quota backend=count args=
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Quota rule: root=User quota mailbox=* bytes=99999744 messages=0
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Quota warning: bytes=94999756 (95%) messages=0 reverse=no command=quota-warning 95 testr@learn2.cz
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Quota warning: bytes=79999795 (80%) messages=0 reverse=no command=quota-warning 80 testr@learn2.cz
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Quota grace: root=User quota bytes=9999974 (10%)
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: open(/proc/self/io) failed: Permission denied
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/home/vmail/learn2.cz/testr
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: maildir++: root=/home/vmail/learn2.cz/testr, index=, indexpvt=, control=, inbox=/home/vmail/learn2.cz/testr, alt=
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Mailbox INBOX: Mailbox opened
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: quota: quota_over_flag check: STORAGE ret=3value=107701 limit=97656
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: quota: quota_over_flag check: MESSAGE ret=4value=178 limit=0
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: quota: quota_over_flag=0((null)) vs currently overquota=1
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: quota: Executing warning: quota-warning mismatch testr@learn2.cz (because quota_over_flag mismatch)
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Created
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Establishing connection
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Trying to connect
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Connected to program
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Finished input to program
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Disconnected
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: program unix:/run/dovecot/quota-warning: Destroy
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Mailbox INBOX: Mailbox opened
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: Mailbox INBOX: Mailbox opened
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Info: Disconnected: Logged out in=92 out=1004 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0
2024-04-15 15:19:59 imap(testr@learn2.cz)<6831>v4x7eiIW+B5/AAAB>: Debug: User session is finished
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190><>: Debug: auth-master: userdb lookup(testr@learn2.cz): Started userdb lookup
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190><>: Debug: auth-master: conn unix:/run/dovecot/auth-userdb: Connecting
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190><>: Debug: auth-master: conn unix:/run/dovecot/auth-userdb (pid=6817,uid=0): Client connected (fd=14)
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190><>: Debug: auth-master: userdb lookup(testr@learn2.cz): auth USER input: testr@learn2.cz uid=5000 gid=5000 home=/home/vmail/learn2.cz/testr quota_rule=*:storage=97656
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190><>: Debug: auth-master: userdb lookup(testr@learn2.cz): Finished userdb lookup (username=testr@learn2.cz uid=5000 gid=5000 home=/home/vmail/learn2.cz/testr quota_rule=*:storage=97656)
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190><>: Debug: Added userdb setting: plugin/quota_rule=*:storage=97656
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190>< DbNrNIcpHWYWHAAAXhj2BA>: Debug: Effective uid=5000, gid=5000, home=/home/vmail/learn2.cz/testr
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190>< DbNrNIcpHWYWHAAAXhj2BA>: Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/home/vmail/learn2.cz/testr
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190>< DbNrNIcpHWYWHAAAXhj2BA>: Debug: maildir++: root=/home/vmail/learn2.cz/testr, index=, indexpvt=, control=, inbox=/home/vmail/learn2.cz/testr, alt=
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190>< DbNrNIcpHWYWHAAAXhj2BA>: Debug: User has no quota
2024-04-15 15:20:07 quota-status(testr@learn2.cz)<7190>< DbNrNIcpHWYWHAAAXhj2BA>: Debug: User session is finished
Každopádně to kvótu, zdá se dovecot vidí:
# doveadm quota recalc -u testr@learn2.cz
# doveadm quota get -u testr@learn2.cz
Quota name Type     Value Limit                                                                 %
User quota STORAGE 107705 97656                                                               110
User quota MESSAGE    179     -                                                                 0
Ale nakonci toho debugu prostě napíše: "Debug: User has no quota".

Přikládám celý ten konfigurák dovecotu.
# doveconf
# 2.3.19.1 (9b53102964): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.19 (4eae2f79)
# OS: Linux 6.1.0-18-amd64 x86_64 Debian 12.5 ext4
# Hostname: ama01
# NOTE: Send doveconf -n output instead when asking for help.
auth_anonymous_username = anonymous
auth_cache_negative_ttl = 1 hours
auth_cache_size = 0
auth_cache_ttl = 1 hours
auth_cache_verify_password_with_worker = no
auth_debug = no
auth_debug_passwords = no
auth_default_realm = 
auth_failure_delay = 2 secs
auth_gssapi_hostname = 
auth_krb5_keytab = 
auth_master_user_separator = 
auth_mechanisms = plain login
auth_policy_check_after_auth = yes
auth_policy_check_before_auth = yes
auth_policy_hash_mech = sha256
auth_policy_hash_nonce = 
auth_policy_hash_truncate = 12
auth_policy_log_only = no
auth_policy_reject_on_fail = no
auth_policy_report_after_auth = yes
auth_policy_request_attributes = login=%{requested_username} pwhash=%{hashed_password} remote=%{rip} device_id=%{client_id} protocol=%s session_id=%{session}
auth_policy_server_api_header = 
auth_policy_server_timeout_msecs = 2000
auth_policy_server_url = 
auth_proxy_self = 
auth_realms = 
auth_socket_path = auth-userdb
auth_ssl_require_client_cert = no
auth_ssl_username_from_cert = no
auth_stats = no
auth_use_winbind = no
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_username_format = %Lu
auth_username_translation = 
auth_verbose = no
auth_verbose_passwords = no
auth_winbind_helper_path = /usr/bin/ntlm_auth
auth_worker_max_count = 30
base_dir = /run/dovecot
config_cache_size = 1 M
debug_log_path = 
default_client_limit = 11048
default_idle_kill = 1 mins
default_internal_group = dovecot
default_internal_user = dovecot
default_login_user = dovenull
default_process_limit = 1024
default_vsz_limit = 256 M
deliver_log_format = msgid=%m: %$
dict {
  quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
dict_db_config = 
director_flush_socket = 
director_mail_servers = 
director_max_parallel_kicks = 100
director_max_parallel_moves = 100
director_output_buffer_size = 10 M
director_ping_idle_timeout = 30 secs
director_ping_max_timeout = 1 mins
director_servers = 
director_user_expire = 15 mins
director_user_kick_delay = 2 secs
director_username_hash = %Lu
disable_plaintext_auth = no
dotlock_use_excl = yes
doveadm_allowed_commands = 
doveadm_api_key = 
doveadm_http_rawlog_dir = 
doveadm_password = 
doveadm_port = 0
doveadm_socket_path = doveadm-server
doveadm_ssl = no
doveadm_username = doveadm
doveadm_worker_count = 0
dsync_alt_char = _
dsync_commit_msgs_interval = 100
dsync_features = 
dsync_hashed_headers = Date Message-ID
dsync_remote_cmd = ssh -l%{login} %{host} doveadm dsync-server -u%u -U
first_valid_gid = 5000
first_valid_uid = 5000
haproxy_timeout = 3 secs
haproxy_trusted_networks = 
hostname = 
imap_capability = +SPECIAL-USE XLIST
imap_client_workarounds = 
imap_fetch_failure = disconnect-immediately
imap_hibernate_timeout = 0
imap_id_log = 
imap_id_retain = no
imap_id_send = name *
imap_idle_notify_interval = 2 mins
imap_literal_minus = no
imap_logout_format = in=%i out=%o deleted=%{deleted} expunged=%{expunged} trashed=%{trashed} hdr_count=%{fetch_hdr_count} hdr_bytes=%{fetch_hdr_bytes} body_count=%{fetch_body_count} body_bytes=%{fetch_body_bytes}
imap_max_line_length = 64 k
imap_metadata = no
imap_urlauth_host = 
imap_urlauth_logout_format = in=%i out=%o
imap_urlauth_port = 143
imapc_cmd_timeout = 5 mins
imapc_connection_retry_count = 1
imapc_connection_retry_interval = 1 secs
imapc_features = 
imapc_host = 
imapc_list_prefix = 
imapc_master_user = 
imapc_max_idle_time = 29 mins
imapc_max_line_length = 0
imapc_password = 
imapc_port = 143
imapc_rawlog_dir = 
imapc_sasl_mechanisms = 
imapc_ssl = no
imapc_ssl_verify = yes
imapc_user = 
import_environment = TZ CORE_OUTOFMEM CORE_ERROR LISTEN_PID LISTEN_FDS NOTIFY_SOCKET
info_log_path = /var/log/dovecot/dovecot-debug.log
instance_name = dovecot
last_valid_gid = 5000
last_valid_uid = 5000
lda_mailbox_autocreate = no
lda_mailbox_autosubscribe = no
lda_original_recipient_header = 
libexec_dir = /usr/lib/dovecot
listen = *, ::
lmtp_add_received_header = yes
lmtp_client_workarounds = 
lmtp_hdr_delivery_address = final
lmtp_proxy = yes
lmtp_proxy_rawlog_dir = 
lmtp_rawlog_dir = 
lmtp_rcpt_check_quota = yes
lmtp_save_to_detail_mailbox = yes
lmtp_user_concurrency_limit = 0
lmtp_verbose_replies = no
lock_method = fcntl
log_core_filter = 
log_debug = 
log_path = /var/log/dovecot/dovecot.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_access_sockets = 
login_greeting = Dovecot (Debian) ready.
login_log_format = %$: %s
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c session=<%{session}>
login_plugin_dir = /usr/lib/dovecot/modules/login
login_plugins = 
login_proxy_max_disconnect_delay = 0
login_proxy_max_reconnects = 3
login_proxy_notify_path = proxy-notify
login_proxy_rawlog_dir = 
login_proxy_timeout = 30 secs
login_source_ips = 
login_trusted_networks = 
mail_access_groups = 
mail_always_cache_fields = 
mail_attachment_detection_options = 
mail_attachment_dir = 
mail_attachment_fs = sis posix
mail_attachment_hash = %{sha1}
mail_attachment_min_size = 128 k
mail_attribute_dict = 
mail_cache_fields = flags
mail_chroot = 
mail_debug = yes
mail_fsync = optimized
mail_full_filesystem_access = no
mail_gid = 
mail_home = 
mail_location = maildir:/home/vmail/%d/%n
mail_log_prefix = "%s(%u)<%{pid}><%{session}>: "
mail_max_keyword_length = 50
mail_max_lock_timeout = 0
mail_max_userip_connections = 10
mail_never_cache_fields = imap.envelope
mail_nfs_index = no
mail_nfs_storage = no
mail_plugin_dir = /usr/lib/dovecot/modules
mail_plugins = 
mail_prefetch_count = 0
mail_privileged_group = mail
mail_save_crlf = no
mail_server_admin = 
mail_server_comment = 
mail_shared_explicit_inbox = no
mail_sort_max_read_count = 0
mail_temp_dir = /tmp
mail_temp_scan_interval = 1 weeks
mail_uid = 
mail_vsize_bg_after_count = 0
mailbox_idle_check_interval = 30 secs
mailbox_list_index = yes
mailbox_list_index_include_inbox = no
mailbox_list_index_very_dirty_syncs = no
maildir_broken_filename_sizes = no
maildir_copy_with_hardlinks = yes
maildir_empty_new = no
maildir_stat_dirs = no
maildir_very_dirty_syncs = no
managesieve_client_workarounds = 
managesieve_implementation_string = Dovecot (Debian) Pigeonhole
managesieve_logout_format = bytes=%i/%o
managesieve_max_compile_errors = 5
managesieve_max_line_length = 64 k
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext imapflags notify imapsieve vnd.dovecot.imapsieve
master_user_separator = 
mbox_dirty_syncs = yes
mbox_dotlock_change_timeout = 2 mins
mbox_lazy_writes = yes
mbox_lock_timeout = 5 mins
mbox_md5 = apop3d
mbox_min_index_size = 0
mbox_read_locks = fcntl
mbox_very_dirty_syncs = no
mbox_write_locks = fcntl dotlock
mdbox_preallocate_space = no
mdbox_rotate_interval = 0
mdbox_rotate_size = 10 M
mmap_disable = no
namespace inbox {
  disabled = no
  hidden = no
  ignore_on_failure = no
  inbox = yes
  list = yes
  location = 
  mailbox "Deleted Items" {
    auto = no
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Trash
  }
  mailbox Drafts {
    auto = subscribe
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Junk
  }
  mailbox Koncepty {
    auto = no
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Drafts
  }
  mailbox "Nevyžádaná pošta" {
    auto = no
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Junk
  }
  mailbox "Odeslaná pošta" {
    auto = no
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Sent
  }
  mailbox "Odstraněná pošta" {
    auto = no
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Trash
  }
  mailbox Sent {
    auto = subscribe
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Sent
  }
  mailbox "Sent Items" {
    auto = no
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = no
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Sent
  }
  mailbox Templates {
    auto = subscribe
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = 
  }
  mailbox Trash {
    auto = subscribe
    autoexpunge = 0
    autoexpunge_max_mails = 0
    comment = 
    driver = 
    special_use = \Trash
  }
  order = 0
  prefix = 
  separator = 
  subscriptions = yes
  type = private
}
old_stats_carbon_interval = 30 secs
old_stats_carbon_name = 
old_stats_carbon_server = 
old_stats_command_min_time = 1 mins
old_stats_domain_min_time = 12 hours
old_stats_ip_min_time = 12 hours
old_stats_memory_limit = 16 M
old_stats_session_min_time = 15 mins
old_stats_user_min_time = 1 hours
plugin {
  antispam_mail_notspam = --ham
  antispam_mail_sendmail = /usr/bin/sa-learn
  antispam_mail_sendmail_args = --for;%u
  antispam_mail_spam = --spam
  antispam_mail_tmpdir = /tmp
  antispam_signature = X-DSPAM-Signature
  antispam_signature_missing = move
  antispam_spam_pattern_ignorecase = Spam;Junk
  deleted_to_trash_folder = Trash
  imapsieve_mailbox1_before = file:/etc/dovecot/rspamd/rspamd-learn-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox2_before = file:/etc/dovecot/rspamd/rspamd-learn-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_name = *
  quota = count:User quota
  quota_over_flag_value = TRUE
  quota_over_script = quota-warning mismatch %u
  quota_status_nouser = DUNNO
  quota_status_overquota = 452 4.2.2 Mailbox is full and cannot receive any more emails
  quota_status_success = DUNNO
  quota_vsizes = yes
  quota_warning = storage=95%% quota-warning 95 %u
  quota_warning2 = storage=80%% quota-warning 80 %u
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_after = /etc/dovecot/sieve-after/
  sieve_before = /etc/dovecot/sieve-default/
  sieve_default = /etc/dovecot/sieve-default/default.sieve
  sieve_dir = ~/sieve
  sieve_extensions = +notify +imapflags
  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
  sieve_global_path = /home/vmail/dovecot.sieve
  sieve_max_redirects = 25
  sieve_pipe_bin_dir = /etc/dovecot/rspamd
  sieve_plugins = sieve_imapsieve sieve_extprograms
  sieve_trace_debug = yes
  sieve_trace_level = matching
}
pop3_client_workarounds = 
pop3_delete_type = default
pop3_deleted_flag = 
pop3_enable_last = no
pop3_fast_size_lookups = no
pop3_lock_session = no
pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
pop3_no_flag_updates = no
pop3_reuse_xuidl = no
pop3_save_uidl = no
pop3_uidl_duplicates = allow
pop3_uidl_format = %08Xu%08Xv
pop3c_features = 
pop3c_host = 
pop3c_master_user = 
pop3c_password = 
pop3c_port = 110
pop3c_quick_received_date = no
pop3c_rawlog_dir = 
pop3c_ssl = no
pop3c_ssl_verify = yes
pop3c_user = %u
postmaster_address = postmaster@%{if;%d;ne;;%d;%{hostname}}
process_shutdown_filter = 
protocols = imap pop3 lmtp sieve
quota_full_tempfail = no
rawlog_dir = 
recipient_delimiter = +
rejection_reason = Your message to <%t> was automatically rejected:%n%r
rejection_subject = Rejected: %s
replication_dsync_parameters = -d -N -l 30 -U
replication_full_sync_interval = 1 days
replication_max_conns = 10
replicator_host = replicator
replicator_port = 0
sendmail_path = /usr/sbin/sendmail
service aggregator {
  chroot = .
  client_limit = 0
  drop_priv_before_exec = no
  executable = aggregator
  extra_groups = 
  fifo_listener replication-notify-fifo {
    group = 
    mode = 0600
    user = 
  }
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener replication-notify {
    group = 
    mode = 0600
    user = 
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service anvil {
  chroot = empty
  client_limit = 0
  drop_priv_before_exec = no
  executable = anvil
  extra_groups = 
  group = 
  idle_kill = 4294967295 secs
  privileged_group = 
  process_limit = 1
  process_min_avail = 1
  protocol = 
  service_count = 0
  type = anvil
  unix_listener anvil-auth-penalty {
    group = 
    mode = 0600
    user = 
  }
  unix_listener anvil {
    group = 
    mode = 0600
    user = 
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service auth-worker {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = auth -w
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = worker
  unix_listener auth-worker {
    group = 
    mode = 0600
    user = $default_internal_user
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service auth {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = auth
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-client {
    group = 
    mode = 0660
    user = $default_internal_user
  }
  unix_listener auth-login {
    group = 
    mode = 0600
    user = $default_internal_user
  }
  unix_listener auth-master {
    group = vmail
    mode = 0600
    user = vmail
  }
  unix_listener auth-userdb {
    group = 
    mode = 0666
    user = $default_internal_user
  }
  unix_listener login/login {
    group = 
    mode = 0666
    user = 
  }
  unix_listener token-login/tokenlogin {
    group = 
    mode = 0666
    user = 
  }
  user = root
  vsz_limit = 18446744073709551615 B
}
service config {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = config
  extra_groups = 
  group = 
  idle_kill = 4294967295 secs
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = config
  unix_listener config {
    group = 
    mode = 0600
    user = 
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service dict-async {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = dict
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener dict-async {
    group = $default_internal_group
    mode = 0660
    user = 
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service dict {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = dict
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener dict {
    group = $default_internal_group
    mode = 0660
    user = 
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service director {
  chroot = .
  client_limit = 0
  drop_priv_before_exec = no
  executable = director
  extra_groups = 
  fifo_listener login/proxy-notify {
    group = 
    mode = 00
    user = 
  }
  group = 
  idle_kill = 4294967295 secs
  inet_listener {
    address = 
    haproxy = no
    port = 0
    reuse_port = no
    ssl = no
  }
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener director-admin {
    group = 
    mode = 0600
    user = 
  }
  unix_listener director-userdb {
    group = 
    mode = 0600
    user = 
  }
  unix_listener login/director {
    group = 
    mode = 00
    user = 
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service dns-client {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = dns-client
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener dns-client {
    group = 
    mode = 0666
    user = 
  }
  unix_listener login/dns-client {
    group = 
    mode = 0666
    user = 
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service doveadm {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = doveadm-server
  extra_groups = $default_internal_group
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 1
  type = 
  unix_listener doveadm-server {
    group = 
    mode = 0600
    user = 
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service health-check {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = yes
  executable = script -p health-check.sh
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service imap-hibernate {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = imap-hibernate
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = imap
  service_count = 0
  type = 
  unix_listener imap-hibernate {
    group = $default_internal_group
    mode = 0660
    user = 
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service imap-login {
  chroot = login
  client_limit = 0
  drop_priv_before_exec = no
  executable = imap-login
  extra_groups = 
  group = 
  idle_kill = 0
  inet_listener imap {
    address = 
    haproxy = no
    port = 143
    reuse_port = no
    ssl = no
  }
  inet_listener imaps {
    address = 
    haproxy = no
    port = 993
    reuse_port = no
    ssl = yes
  }
  privileged_group = 
  process_limit = 3000
  process_min_avail = 0
  protocol = imap
  service_count = 1
  type = login
  user = $default_login_user
  vsz_limit = 18446744073709551615 B
}
service imap-urlauth-login {
  chroot = token-login
  client_limit = 0
  drop_priv_before_exec = no
  executable = imap-urlauth-login
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = imap
  service_count = 1
  type = login
  unix_listener imap-urlauth {
    group = 
    mode = 0666
    user = 
  }
  user = $default_login_user
  vsz_limit = 18446744073709551615 B
}
service imap-urlauth-worker {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = imap-urlauth-worker
  extra_groups = $default_internal_group
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 1024
  process_min_avail = 0
  protocol = imap
  service_count = 1
  type = 
  unix_listener imap-urlauth-worker {
    group = 
    mode = 0600
    user = $default_internal_user
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service imap-urlauth {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = imap-urlauth
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 1024
  process_min_avail = 0
  protocol = imap
  service_count = 1
  type = 
  unix_listener token-login/imap-urlauth {
    group = 
    mode = 0666
    user = 
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service imap {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = imap
  extra_groups = $default_internal_group
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 1024
  process_min_avail = 0
  protocol = imap
  service_count = 1
  type = 
  unix_listener imap-master {
    group = 
    mode = 0600
    user = 
  }
  unix_listener login/imap {
    group = 
    mode = 0666
    user = 
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service indexer-worker {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = indexer-worker
  extra_groups = $default_internal_group
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 10
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = worker
  unix_listener indexer-worker {
    group = 
    mode = 0600
    user = $default_internal_user
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service indexer {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = indexer
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener indexer {
    group = 
    mode = 0666
    user = 
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service ipc {
  chroot = empty
  client_limit = 0
  drop_priv_before_exec = no
  executable = ipc
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener ipc {
    group = 
    mode = 0600
    user = $default_internal_user
  }
  unix_listener login/ipc-proxy {
    group = 
    mode = 0600
    user = $default_login_user
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service lmtp {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = lmtp
  extra_groups = $default_internal_group
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = lmtp
  service_count = 0
  type = 
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
  unix_listener lmtp {
    group = 
    mode = 0666
    user = 
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service log {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = log
  extra_groups = 
  group = 
  idle_kill = 4294967295 secs
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = log
  unix_listener log-errors {
    group = 
    mode = 0600
    user = 
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service managesieve-login {
  chroot = login
  client_limit = 0
  drop_priv_before_exec = no
  executable = managesieve-login
  extra_groups = 
  group = 
  idle_kill = 0
  inet_listener sieve {
    address = 
    haproxy = no
    port = 4190
    reuse_port = no
    ssl = no
  }
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = sieve
  service_count = 1
  type = login
  user = $default_login_user
  vsz_limit = 18446744073709551615 B
}
service managesieve {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = managesieve
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = sieve
  service_count = 1
  type = 
  unix_listener login/sieve {
    group = 
    mode = 0666
    user = 
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service old-stats {
  chroot = empty
  client_limit = 0
  drop_priv_before_exec = no
  executable = old-stats
  extra_groups = 
  fifo_listener old-stats-mail {
    group = 
    mode = 0600
    user = 
  }
  fifo_listener old-stats-user {
    group = 
    mode = 0600
    user = 
  }
  group = 
  idle_kill = 4294967295 secs
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener old-stats {
    group = 
    mode = 0600
    user = 
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service pop3-login {
  chroot = login
  client_limit = 0
  drop_priv_before_exec = no
  executable = pop3-login
  extra_groups = 
  group = 
  idle_kill = 0
  inet_listener pop3 {
    address = 
    haproxy = no
    port = 110
    reuse_port = no
    ssl = no
  }
  inet_listener pop3s {
    address = 
    haproxy = no
    port = 995
    reuse_port = no
    ssl = yes
  }
  privileged_group = 
  process_limit = 3000
  process_min_avail = 0
  protocol = pop3
  service_count = 1
  type = login
  user = $default_login_user
  vsz_limit = 18446744073709551615 B
}
service pop3 {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = pop3
  extra_groups = $default_internal_group
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 1024
  process_min_avail = 0
  protocol = pop3
  service_count = 1
  type = 
  unix_listener login/pop3 {
    group = 
    mode = 0666
    user = 
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service quota-status {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = /usr/lib/dovecot/quota-status -p postfix
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener /var/spool/postfix/private/quota-status {
    group = postfix
    mode = 0600
    user = postfix
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service quota-warning {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = script /etc/dovecot/quota-warning.sh
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener quota-warning {
    group = 
    mode = 0600
    user = vmail
  }
  user = vmail
  vsz_limit = 18446744073709551615 B
}
service replicator {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = replicator
  extra_groups = 
  group = 
  idle_kill = 4294967295 secs
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener replicator-doveadm {
    group = 
    mode = 00
    user = $default_internal_user
  }
  unix_listener replicator {
    group = 
    mode = 0600
    user = $default_internal_user
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service stats {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = stats
  extra_groups = 
  group = 
  idle_kill = 4294967295 secs
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener login/stats-writer {
    group = 
    mode = 0600
    user = $default_login_user
  }
  unix_listener stats-reader {
    group = vmail
    mode = 0660
    user = vmail
  }
  unix_listener stats-writer {
    group = vmail
    mode = 0660
    user = vmail
  }
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
service submission-login {
  chroot = login
  client_limit = 0
  drop_priv_before_exec = no
  executable = submission-login
  extra_groups = 
  group = 
  idle_kill = 0
  inet_listener submission {
    address = 
    haproxy = no
    port = 587
    reuse_port = no
    ssl = no
  }
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = submission
  service_count = 1
  type = login
  user = $default_login_user
  vsz_limit = 18446744073709551615 B
}
service submission {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = submission
  extra_groups = $default_internal_group
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 1024
  process_min_avail = 0
  protocol = submission
  service_count = 1
  type = 
  unix_listener login/submission {
    group = 
    mode = 0666
    user = 
  }
  user = 
  vsz_limit = 18446744073709551615 B
}
service tcpwrap {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = tcpwrap
  extra_groups = 
  group = 
  idle_kill = 0
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  user = $default_internal_user
  vsz_limit = 18446744073709551615 B
}
shutdown_clients = yes
ssl = required
ssl_alt_cert = 
ssl_alt_key = 
ssl_ca = 
ssl_cert = < /etc/letsencrypt/live/ama01.vas-server.cz/fullchain.pem
ssl_cert_username_field = commonName
ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
ssl_cipher_suites = 
ssl_client_ca_dir = /etc/ssl/certs
ssl_client_ca_file = 
ssl_client_cert = 
ssl_client_key = 
ssl_client_require_valid_cert = yes
ssl_crypto_device = 
ssl_curve_list = 
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_key_password = 
ssl_min_protocol = TLSv1
ssl_options = 
ssl_prefer_server_ciphers = yes
ssl_require_crl = yes
ssl_verify_client_cert = no
state_dir = /var/lib/dovecot
stats_http_rawlog_dir = 
stats_writer_socket_path = stats-writer
submission_client_workarounds = 
submission_host = 
submission_logout_format = in=%i out=%o
submission_max_mail_size = 0
submission_max_recipients = 0
submission_relay_command_timeout = 5 mins
submission_relay_connect_timeout = 30 secs
submission_relay_host = 
submission_relay_master_user = 
submission_relay_max_idle_time = 29 mins
submission_relay_password = 
submission_relay_port = 25
submission_relay_rawlog_dir = 
submission_relay_ssl = no
submission_relay_ssl_verify = yes
submission_relay_trusted = no
submission_relay_user = 
submission_ssl = no
submission_timeout = 30 secs
syslog_facility = mail
valid_chroot_dirs = 
verbose_proctitle = no
verbose_ssl = no
version_ignore = no
protocol lmtp {
  info_log_path = /var/log/dovecot/dovecot-lmtp.log
  log_path = /var/log/dovecot/dovecot-lmtp.log
  mail_plugins = " sieve quota"
  passdb {
    args = /etc/dovecot/dovecot-sql-smtp.conf.ext
    driver = sql
    name = 
  }
  postmaster_address = info@ama01.vas-server.cz
  userdb {
    args = /etc/dovecot/dovecot-sql-smtp.conf.ext
    driver = sql
    name = 
  }
}
protocol lda {
  info_log_path = /var/log/dovecot/dovecot-lda.log
  log_path = /var/log/dovecot/dovecot-lda.log
  mail_plugins = " sieve quota"
  passdb {
    args = /etc/dovecot/dovecot-sql-smtp.conf.ext
    driver = sql
    name = 
  }
  postmaster_address = info@ama01.vas-server.cz
  userdb {
    args = /etc/dovecot/dovecot-sql-smtp.conf.ext
    driver = sql
    name = 
  }
}
protocol imap {
  imap_client_workarounds = delay-newmail
  mail_max_userip_connections = 20
  mail_plugins = quota imap_quota imap_sieve
  passdb {
    args = /etc/dovecot/dovecot-sql-imap.conf.ext
    driver = sql
    name = 
  }
  userdb {
    args = /etc/dovecot/dovecot-sql-imap.conf.ext
    driver = sql
    name = 
  }
}
protocol sieve {
  info_log_path = /var/log/dovecot/sieve.log
  log_path = /var/log/dovecot/sieve-errors.log
  managesieve_implementation_string = dovecot
  managesieve_max_line_length = 64 k
}
protocol pop3 {
  mail_max_userip_connections = 10
  mail_plugins = quota
  passdb {
    args = /etc/dovecot/dovecot-sql-imap.conf.ext
    driver = sql
    name = 
  }
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  pop3_uidl_format = %08Xu%08Xv
  userdb {
    args = /etc/dovecot/dovecot-sql-imap.conf.ext
    driver = sql
    name = 
  }
}
protocol !lmtp {
  info_log_path = /var/log/dovecot/dovecot-non-lmtp.log
  log_path = /var/log/dovecot/dovecot-non-lmtp.log
  mail_plugins = " quota"
  passdb {
    args = /etc/dovecot/dovecot-sql-smtp.conf.ext
    driver = sql
    name = 
  }
  postmaster_address = info@ama01.vas-server.cz
  userdb {
    args = /etc/dovecot/dovecot-sql-smtp.conf.ext
    driver = sql
    name = 
  }
}
MMMMMMMMM avatar 19.4. 17:22 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: MUA MTA, překročená quota
V mém případě funguje toto: (posílám report uživatelům při 95 procentech a při 100 procentech zaplnění)
plugin {
  quota_warning = storage=100%% quota-warning 100 %u
  quota_warning2 = storage=95%% quota-warning 95 %u
}

service quota-warning {
  executable = script /usr/local/bin/quota-warning.sh
  user = vmail
  unix_listener quota-warning {
    user = vmail
    group = vmail
    mode = 0660
  }
}
Přemýšlím, zda není u tebe problém quota = count:User quota v konfiguraci, nemělo by to být spíše quota = dict:User quota::proxy::quota ?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.