Help with imapc and Shared Folder in a Cluster

Alessio Cecchi alessio at skye.it
Fri Apr 23 00:49:52 EEST 2021


Hi,

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?

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

-- 
Alessio Cecchi
Postmaster @ http://www.qboxmail.it
https://www.linkedin.com/in/alessice



More information about the dovecot mailing list