Help with imapc and Shared Folder in a Cluster

Markus Valentin markus.valentin at open-xchange.com
Fri Apr 23 10:29:43 EEST 2021


On 4/22/21 11:49 PM, Alessio Cecchi wrote:> I'm tryng to setup Shared
Mailboxes in Dovecot (2.3.14) Cluster as
> explained here:
> 
> https://doc.dovecot.org/configuration_manual/shared_mailboxes/cluster_setup/
> 
> 
> but I'm not happy:
> 
> # doveadm acl debug -u test1 at emailtest.net shared/test2/Sent
> 
> doveadm(test1 at emailtest.net): Info: imapc(10.0.0.202:143): Connected to
> 10.0.0.202:143 (local 10.0.0.203:58054)
> doveadm(test1 at emailtest.net): Info: imapc(10.0.0.202:143): Connected to
> 10.0.0.202:143 (local 10.0.0.203:58056)
> doveadm(test1 at emailtest.net): Error: imapc(10.0.0.202:143):
> Authentication failed: [AUTHENTICATIONFAILED] Authentication failed.
> doveadm(test1 at emailtest.net): Error: Can't open mailbox
> shared/test2/Sent: Authentication failed: [AUTHENTICATIONFAILED]
> Authentication failed.
> 
> ACL, master-user, master-password works fine because with regular
> configuration shared folders works fine and also with master-user or
> with master-password I can login and see and access to shared/ namespace
> and shared folders.
> 
> But when I try to switch location from
> 
> location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
> 
> to
> 
> location = imapc:~/Maildir/shared/%%u/
> [...]
> imapc_host = 10.0.0.202
> imapc_master_user = %u
> #imapc_user = %u
> imapc_password = Password
> imapc_features = search
> 
> stop working.
> 
> The relevant error is this:
> 
> Apr 22 22:57:14 doveadm(test1 at testemail.net): Info:
> imapc(10.0.0.203:143): Connected to 10.0.0.202:143 (local 10.0.0.203:58070)
> Apr 22 22:57:14 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Server capabilities: IMAP4rev1 SASL-IR
> LOGIN-REFERRALS ID ENABLE IDLE XLIST LITERAL+ AUTH=PLAIN AUTH=LOGIN
> Apr 22 22:57:14 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Authenticating as test1 at testemail.net for user
> test2 at testemail.net
> Apr 22 22:57:16 doveadm(test1 at testemail.net): Error:
> imapc(10.0.0.203:143): Authentication failed: [AUTHENTICATIONFAILED]
> Authentication failed.
> Apr 22 22:57:16 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Disconnected
> Apr 22 22:57:16 doveadm(test1 at testemail.net): Error: Can't open mailbox
> shared/test2/Sent: Authentication failed: [AUTHENTICATIONFAILED]
> Authentication failed.
> 
> Please note "Authenticating as test1 at testemail.net for user
> test2 at testemail.net" failed.
> 
> So my question is, the documentation page is update and right or I
> missing something?
Hi,

from my perspective it is likely that test1 at testemail.net can't be
authenticated as a master user which is required for this setup to work.

>From the cluster setup page:

"You’ll need to setup master user logins to work for all the users. The
logged in user becomes the master user. The master user doesn’t actually
have any special privileges. "

Additionally you are running 2.3.14 with "acl_ignore_namespace =
shared/*" which will be available from 2.3.15 onwards only.

https://doc.dovecot.org/settings/plugin/aclPlugins/#acl-ignore-namespace


Markus

> 
> Someone have this setup workings?
> 
> Follow the doveadm acl debug and my dovecot configuration:
> 
> # doveadm -Dv acl debug -u test1 at testemail.net shared/test2/Sent
> 
> Apr 22 22:56:08 Debug: Loading modules from directory: /usr/lib64/dovecot
> Apr 22 22:56:08 Debug: Module loaded:
> /usr/lib64/dovecot/lib01_acl_plugin.so
> Apr 22 22:56:08 Debug: Module loaded:
> /usr/lib64/dovecot/lib10_quota_plugin.so
> Apr 22 22:56:08 Debug: Module loaded:
> /usr/lib64/dovecot/lib20_fts_plugin.so
> Apr 22 22:56:08 Debug: Module loaded:
> /usr/lib64/dovecot/lib20_virtual_plugin.so
> Apr 22 22:56:08 Debug: Module loaded:
> /usr/lib64/dovecot/lib20_zlib_plugin.so
> Apr 22 22:56:08 Debug: Module loaded:
> /usr/lib64/dovecot/lib21_fts_solr_plugin.so
> Apr 22 22:56:08 Debug: Loading modules from directory:
> /usr/lib64/dovecot/doveadm
> Apr 22 22:56:08 Debug: Module loaded:
> /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so
> Apr 22 22:56:08 Debug: Module loaded:
> /usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so
> Apr 22 22:56:08 Debug: Module loaded:
> /usr/lib64/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
> Apr 22 22:56:08 Debug: Skipping module doveadm_fts_lucene_plugin,
> because dlopen() failed:
> /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_lucene_plugin.so: undefined
> symbol: lucene_index_iter_deinit (this is usually intentional, so just
> ignore this message)
> Apr 22 22:56:08 Debug: Module loaded:
> /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so
> Apr 22 22:56:08 Debug: Skipping module doveadm_mail_crypt_plugin,
> because dlopen() failed:
> /usr/lib64/dovecot/doveadm/libdoveadm_mail_crypt_plugin.so: undefined
> symbol: mail_crypt_box_get_pvt_digests (this is usually intentional, so
> just ignore this message)
> Apr 22 22:56:08 doveadm(test1 at testemail.net) session=<>: Debug:
> auth-master: userdb lookup(test1 at testemail.net): Started userdb lookup
> Apr 22 22:56:08 doveadm(test1 at testemail.net) session=<>: Debug:
> auth-master: conn unix:/var/run/dovecot/auth-userdb: Connecting
> Apr 22 22:56:08 doveadm(test1 at testemail.net) session=<>: Debug:
> auth-master: conn unix:/var/run/dovecot/auth-userdb (pid=19783,uid=0):
> Client connected (fd=10)
> Apr 22 22:56:08 doveadm(test1 at testemail.net) session=<>: Debug:
> auth-master: userdb lookup(test1 at testemail.net): auth USER input:
> test1 at testemail.net home=/home/vmail/testemail.net/test1 uid=89 gid=89
> quota_rule=*:backend=8589934592S,229376C
> Apr 22 22:56:08 doveadm(test1 at testemail.net) session=<>: Debug:
> auth-master: userdb lookup(test1 at testemail.net): Finished userdb lookup
> (username=test1 at testemail.net home=/home/vmail/testemail.net/test1
> uid=89 gid=89 quota_rule=*:backend=8589934592S,229376C)
> Apr 22 22:56:08 doveadm(test1 at testemail.net) session=<>: Debug: Added
> userdb setting: plugin/quota_rule=*:backend=8589934592S,229376C
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Effective uid=89,
> gid=89, home=/home/vmail/testemail.net/test1
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota root:
> name=UserQuota backend=maildir args=
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota rule:
> root=UserQuota mailbox=* bytes=8589934592 messages=229376
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota rule:
> root=UserQuota mailbox=Trash bytes=+104857600 messages=0
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota warning:
> bytes=8160437862 (95%) messages=0 reverse=no command=quota-warning 95
> test1 at testemail.net 2
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota warning:
> bytes=7730941132 (90%) messages=0 reverse=no command=quota-warning 90
> test1 at testemail.net 1
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota warning:
> bytes=7301444403 (85%) messages=0 reverse=yes command=quota-warning 85
> test1 at testemail.net 0
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota grace:
> root=UserQuota bytes=10485760
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota root:
> name=Quota Usage backend=dict args=:noenforcing:proxy::sqlquota
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota grace:
> root=Quota Usage bytes=0 (10%)
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: quota-dict:
> user=test1 at testemail.net, uri=proxy::sqlquota, noenforcing=1
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Namespace inbox:
> type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes,
> subscriptions=yes location=maildir:~/Maildir
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: maildir++:
> root=/home/vmail/testemail.net/test1/Maildir, index=, indexpvt=,
> control=, inbox=/home/vmail/testemail.net/test1/Maildir, alt=
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: initializing
> backend with data: vfile
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: acl username =
> test1 at testemail.net
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: owner = 1
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl vfile: Global
> ACLs disabled
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Namespace :
> type=shared, prefix=shared/%n/, sep=/, inbox=no, hidden=no,
> list=children, subscriptions=no location=imapc:~/Maildir/shared/%u/
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: shared:
> root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt=
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: fts: Indexes
> disabled for namespace 'shared/%n/'
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: initializing
> backend with data: vfile
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: acl username =
> test1 at testemail.net
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: owner = 0
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl vfile: Global
> ACLs disabled
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Namespace Virtual:
> type=private, prefix=Virtual/, sep=/, inbox=no, hidden=yes, list=no,
> subscriptions=no
> location=virtual:/etc/dovecot/virtual:INDEX=~/Maildir/virtual
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: fs:
> root=/etc/dovecot/virtual,
> index=/home/vmail/testemail.net/test1/Maildir/virtual, indexpvt=,
> control=, inbox=, alt=
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: initializing
> backend with data: vfile
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: acl username =
> test1 at testemail.net
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: owner = 1
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl vfile: Global
> ACLs disabled
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: quota:
> quota_over_flag check: quota_over_script unset - skipping
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: quota:
> quota_over_flag check: quota2_over_script unset - skipping
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: auth-master: userdb
> lookup(test2 at testemail.net): Started userdb lookup
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: auth-master: userdb
> lookup(test2 at testemail.net): auth USER input: test2 at testemail.net
> home=/home/vmail/testemail.net/test2 uid=89 gid=89
> quota_rule=*:backend=8589934592S,229376C
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: auth-master: userdb
> lookup(test2 at testemail.net): Finished userdb lookup
> (username=test2 at testemail.net home=/home/vmail/testemail.net/test2
> uid=89 gid=89 quota_rule=*:backend=8589934592S,229376C)
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota root:
> name=UserQuota backend=maildir args=
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota rule:
> root=UserQuota mailbox=* bytes=8589934592 messages=229376
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota rule:
> root=UserQuota mailbox=Trash bytes=+104857600 messages=0
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota warning:
> bytes=8160437862 (95%) messages=0 reverse=no command=quota-warning 95
> test2 at testemail.net 2
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota warning:
> bytes=7730941132 (90%) messages=0 reverse=no command=quota-warning 90
> test2 at testemail.net 1
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota warning:
> bytes=7301444403 (85%) messages=0 reverse=yes command=quota-warning 85
> test2 at testemail.net 0
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota grace:
> root=UserQuota bytes=10485760
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota root:
> name=Quota Usage backend=dict args=:noenforcing:proxy::sqlquota
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: Quota grace:
> root=Quota Usage bytes=0 (10%)
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: quota-dict:
> user=test2 at testemail.net, uri=proxy::sqlquota, noenforcing=1
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Created new connection
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Looking up IP address (reconnect_ok=true,
> last_connect=1619124968)
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Connecting to 10.0.0.202:143
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Info:
> imapc(10.0.0.203:143): Connected to 10.0.0.202:143 (local 10.0.0.203:58062)
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Server capabilities: IMAP4rev1 SASL-IR
> LOGIN-REFERRALS ID ENABLE IDLE XLIST LITERAL+ AUTH=PLAIN AUTH=LOGIN
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Authenticating as test2 at testemail.net for user
> test2 at testemail.net
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Server capabilities: IMAP4rev1 SASL-IR
> LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES
> THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE
> UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE
> QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY
> MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE XLIST LITERAL+
> NOTIFY SPECIAL-USE QUOTA ACL RIGHTS=texk
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Authenticated successfully
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: imapc:
> root=/home/vmail/testemail.net/test2/Maildir/shared/test2 at testemail.net,
> index=, indexpvt=, control=, inbox=, alt=
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: maildir++:
> root=/home/vmail/testemail.net/test2/Maildir/shared/test2 at testemail.net,
> index=, indexpvt=, control=, inbox=, alt=
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: initializing
> backend with data: vfile
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: acl username =
> test2 at testemail.net
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: owner = 1
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl vfile: Global
> ACLs disabled
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: quota:
> quota_over_flag check: quota_over_script unset - skipping
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: quota:
> quota_over_flag check: quota2_over_script unset - skipping
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Created new connection
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Looking up IP address (reconnect_ok=true,
> last_connect=1619124968)
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Connecting to 10.0.0.202:143
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: imapc:
> root=/home/vmail/testemail.net/test1/Maildir/shared/test2 at testemail.net,
> index=, indexpvt=, control=, inbox=, alt=
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: maildir++:
> root=/home/vmail/testemail.net/test1/Maildir/shared/test2 at testemail.net,
> index=, indexpvt=, control=, inbox=, alt=
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: initializing
> backend with data: vfile
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: acl username =
> test1 at testemail.net
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl: owner = 0
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug: acl vfile: Global
> ACLs disabled
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Info:
> imapc(10.0.0.203:143): Connected to 10.0.0.202:143 (local 10.0.0.203:58064)
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Server capabilities: IMAP4rev1 SASL-IR
> LOGIN-REFERRALS ID ENABLE IDLE XLIST LITERAL+ AUTH=PLAIN AUTH=LOGIN
> Apr 22 22:56:08 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Authenticating as test1 at testemail.net for user
> test2 at testemail.net
> Apr 22 22:56:10 doveadm(test1 at testemail.net): Error:
> imapc(10.0.0.203:143): Authentication failed: [AUTHENTICATIONFAILED]
> Authentication failed.
> Apr 22 22:56:10 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Disconnected
> Apr 22 22:56:10 doveadm(test1 at testemail.net): Error: Can't open mailbox
> shared/test2/Sent: Authentication failed: [AUTHENTICATIONFAILED]
> Authentication failed.
> Apr 22 22:56:10 doveadm(test1 at testemail.net): Debug:
> imapc(10.0.0.203:143): Disconnected
> Apr 22 22:56:10 doveadm(test1 at testemail.net): Debug: auth-master: conn
> unix:/var/run/dovecot/auth-userdb (pid=19783,uid=0): Disconnected:
> Connection closed (fd=10)
> 
> # dovecot -n
> # 2.3.14 (cee3cbc0d): /etc/dovecot/dovecot.conf
> # Pigeonhole version 0.5.14 (1b5c82b2)
> # OS: Linux 3.10.0-1160.24.1.el7.x86_64 x86_64 CentOS Linux release
> 7.9.2009 (Core)
> # Hostname: popimap.emailtest.net
> auth_cache_negative_ttl = 90 secs
> auth_cache_size = 50 M
> auth_debug = yes
> auth_debug_passwords = yes
> auth_master_user_separator = *
> auth_mechanisms = plain login
> auth_verbose = yes
> auth_verbose_passwords = plain
> auth_worker_max_count = 50
> default_vsz_limit = 1 G
> deliver_log_format = deliverytime=%{delivery_time}, msgid=%m, sender=%e,
> from=%f, subject="%s": %$
> dict {
>   acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
>   sieve = mysql:/etc/dovecot/dovecot-dict-sieve-sql.conf.ext
>   sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
> }
> disable_plaintext_auth = no
> first_valid_gid = 89
> first_valid_uid = 89
> imap_capability = +XLIST
> imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags
> imap_id_log = *
> imap_logout_format = in=%{input} out=%{output} deleted=%{deleted}
> expunged=%{expunged} autoexpunged=%{autoexpunged} trashed=%{trashed}
> appended=%{appended} hdr_count=%{fetch_hdr_count}
> hdr_bytes=%{fetch_hdr_bytes} body_count=%{fetch_body_count}
> body_bytes=%{fetch_body_bytes}
> imap_max_line_length = 2 M
> imapc_features = search
> imapc_host = 10.0.0.202
> imapc_master_user = %u
> imapc_password = # hidden, use -P to show it
> last_valid_gid = 89
> last_valid_uid = 89
> lda_mailbox_autocreate = yes
> lda_mailbox_autosubscribe = yes
> login_trusted_networks = 10.0.0.0/24 10.0.1.0/24
> mail_attachment_detection_options = add-flags content-type=!image/*
> mail_attribute_dict = file:%h/Maildir/dovecot-attributes
> mail_fsync = always
> mail_location = maildir:~/Maildir
> mail_log_prefix = "%s(%u) session=<%{session}>: "
> mail_plugins = quota acl zlib fts fts_solr virtual
> maildir_very_dirty_syncs = yes
> 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 vacation-seconds
> mmap_disable = yes
> namespace {
>   list = children
>   location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
>   prefix = shared/%%n/
>   separator = /
>   subscriptions = no
>   type = shared
> }
> namespace Virtual {
>   hidden = yes
>   list = no
>   location = virtual:/etc/dovecot/virtual:INDEX=~/Maildir/virtual
>   prefix = Virtual/
>   separator = /
>   subscriptions = no
> }
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox Archive {
>     auto = subscribe
>     special_use = \Archive
>   }
>   mailbox Drafts {
>     auto = subscribe
>     special_use = \Drafts
>   }
>   mailbox Sent {
>     auto = subscribe
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     special_use = \Sent
>   }
>   mailbox Spam {
>     auto = subscribe
>     special_use = \Junk
>   }
>   mailbox Trash {
>     auto = subscribe
>     special_use = \Trash
>   }
>   mailbox virtual/All {
>     comment = All my messages
>     special_use = \All
>   }
>   prefix =
>   separator = /
> }
> passdb {
>   args = /etc/dovecot/dovecot-deny-sql.conf.ext
>   deny = yes
>   driver = sql
> }
> passdb {
>   args = password=#hidden_use-P_to_show#
>   driver = static
>   result_success = continue
> }
> passdb {
>   args = /etc/dovecot/extra/master-users
>   driver = passwd-file
>   master = yes
>   result_success = continue
> }
> passdb {
>   args = /etc/dovecot/dovecot-sql.conf.ext
>   auth_verbose = yes
>   driver = sql
>   result_success = continue-ok
> }
> passdb {
>   args = /etc/dovecot/extra/extrafields-passdb
>   driver = passwd-file
>   result_internalfail = return-fail
>   skip = unauthenticated
> }
> plugin {
>   acl = vfile
>   acl_ignore_namespace = shared/*
>   acl_shared_dict = proxy::acl
>   fts = solr
>   fts_autoindex = no
>   fts_index_timeout = 60s
>   fts_solr = url=http://10.0.0.5:8983/solr/dovecot/ debug
>   fts_tika = http://10.0.0.206:9998/tika/
>   master_user = %u
>   push_notification_driver = ox:url=http://10.0.0.235/notify
>   quota = maildir:UserQuota
>   quota2 = dict:Quota Usage::noenforcing:proxy::sqlquota
>   quota_grace = 10M
>   quota_max_mail_size = 60M
>   quota_rule2 = Trash:storage=+100M
>   quota_warning = storage=95%% quota-warning 95 %u 2
>   quota_warning2 = storage=90%% quota-warning 90 %u 1
>   quota_warning3 = -storage=85%% quota-warning 85 %u 0
>   sieve = file:~/sieve;active=~/.dovecot.sieve
>   sieve_before = dict:proxy::sieve;name=activesql
>   sieve_before2 = /etc/dovecot/sieve/before.sieve
>   sieve_duplicate_default_period = 1h
>   sieve_duplicate_max_period = 1d
>   sieve_extensions = +vacation-seconds
>   sieve_max_redirects = 25
>   sieve_vacation_default_period = 1d
>   sieve_vacation_min_period = 4h
>   sieve_vacation_send_from_recipient = yes
>   zlib_save = gz
>   zlib_save_level = 6
> }
> pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
> pop3_fast_size_lookups = yes
> pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%{deleted_bytes}/%m,
> size=%s, bytes=%i/%o
> protocols = imap pop3 lmtp sieve
> service auth {
>   client_limit = 6524
>   unix_listener auth-userdb {
>     group = vchkpw
>     mode = 0660
>     user = vmail
>   }
> }
> service dict {
>   process_limit = 500
>   unix_listener dict {
>     group = vchkpw
>     mode = 0660
>     user = vmail
>   }
> }
> service doveadm {
>   inet_listener {
>     port = 2425
>   }
> }
> service imap-login {
>   process_min_avail = 12
>   service_count = 0
> }
> service imap-postlogin {
>   executable = script-login /etc/dovecot/scripts/imap-postlogin.sh
>   unix_listener imap-postlogin {
>     group = vchkpw
>     mode = 0660
>     user = vmail
>   }
>   user = vmail
> }
> service imap {
>   executable = imap imap-postlogin
>   process_limit = 8000
>   vsz_limit = 2 G
> }
> service lmtp {
>   inet_listener lmtp {
>     port = 24
>   }
>   process_min_avail = 12
> }
> service managesieve-login {
>   inet_listener sieve {
>     port = 4190
>   }
> }
> service pop3-login {
>   process_min_avail = 12
>   service_count = 0
> }
> service pop3-postlogin {
>   executable = script-login /etc/dovecot/scripts/pop3-postlogin.sh
>   unix_listener pop3-postlogin {
>     group = vchkpw
>     mode = 0660
>     user = vmail
>   }
>   user = vmail
> }
> service pop3 {
>   executable = pop3 pop3-postlogin
> }
> service quota-warning {
>   executable = script /etc/dovecot/scripts/quota-warning.sh
>   unix_listener quota-warning {
>     user = vmail
>   }
>   user = vmail
> }
> service stats {
>   client_limit = 10240
>   unix_listener stats-writer {
>     group = vchkpw
>     mode = 0660
>     user = vmail
>   }
> }
> ssl = no
> submission_host = 127.0.0.1
> userdb {
>   driver = prefetch
> }
> userdb {
>   args = /etc/dovecot/dovecot-sql.conf.ext
>   driver = sql
> }
> verbose_proctitle = yes
> protocol lmtp {
>   mail_fsync = optimized
>   mail_plugins = quota acl zlib fts fts_solr virtual sieve notify
> push_notification
>   namespace inbox {
>     location =
>     mailbox Spam {
>       autoexpunge = 31 days
>     }
>     mailbox Trash {
>       autoexpunge = 31 days
>     }
>     prefix =
>   }
> }
> protocol lda {
>   mail_fsync = optimized
>   mail_plugins = quota acl zlib fts fts_solr virtual sieve notify
> push_notification
> }
> protocol imap {
>   mail_max_userip_connections = 10
>   mail_plugins = quota acl zlib fts fts_solr virtual imap_quota imap_acl
>   namespace inbox {
>     location =
>     mailbox Spam {
>       autoexpunge = 31 days
>     }
>     mailbox Trash {
>       autoexpunge = 31 days
>     }
>     prefix =
>   }
> }
> protocol sieve {
>   mail_max_userip_connections = 2
> }
> protocol pop3 {
>   mail_max_userip_connections = 15
> }
> remote 10.0.1.0/24 {
>   protocol imap {
>     imap_metadata = yes
>   }
> }
> local 10.0.0.0/24 {
>   doveadm_password = # hidden, use -P to show it
> }
> 
> Thanks
> 


More information about the dovecot mailing list