Shared folders and quota
Fabian Kuran
fabian at eideo.de
Fri Feb 9 10:46:02 EET 2018
Hi all,
we are able to observe a very strange behaviour:
User A wants to copy a mail to a shared mailbox of user B. This works like a
charme if the quota of user A is lower than the used space of user B. But is the
used space of user B higher than the quota size of User A, "User A" is not longer
able to copy the message to the shared folder of user B. His IMAP Client says
something like "NO OVERQUOTA".
# doveadm quota get -u UserA
Quota name Type Value Limit %
User quota STORAGE 20085 25600 78
User quota MESSAGE 68 - 0
# doveadm quota get -u UserB
Quota name Type Value Limit %
User quota STORAGE 39963 122880 32
User quota MESSAGE 160 - 0
Is this a known behaviour of dovecot? Is there a way to "disable" quota-handling
for shared folders?
This is my doveconf -n":
# 2.2.30.2 (c0c463e): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.18 (29cc74d)
# OS: SLES12SP3
auth_debug = yes
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose = yes
debug_log_path = /var/log/dovecot.debug
dict {
sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
first_valid_uid = 480
lmtp_save_to_detail_mailbox = yes
mail_debug = yes
mail_gid = vmail
mail_location = maildir:/var/spool/mail/user/%n/Maildir:LAYOUT=fs
mail_plugins = acl quota stats listescape notify virtual
mail_privileged_group = vmail
mail_uid = dovecot
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
namespace {
hidden = yes
inbox = yes
list = no
location =
prefix =
separator = /
subscriptions = yes
}
namespace {
list = children
location = maildir:%%h/Maildir:INDEXPVT=~/shared/%%u:LAYOUT=fs
prefix = user/%%n/
separator = /
subscriptions = no
type = shared
}
namespace Public {
list = children
location = maildir:/var/mail/%d/public:INDEXPVT=~/public:LAYOUT=fs
prefix = Public/
separator = /
subscriptions = no
type = public
}
namespace inbox {
inbox = no
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix = INBOX/
separator = /
subscriptions = no
type = private
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
passdb {
args = /etc/dovecot/masteruser.%s
driver = passwd-file
master = yes
pass = yes
}
plugin {
acl = vfile
acl_anyone = allow
acl_shared_dict = file:/var/spool/mail/%d/shared-mailboxes.db
quota = dict:User quota::proxy::sqlquota
quota_rule = *:storage=4G
quota_rule2 = INBOX/Trash:storage=+100M
quota_status_nouser = DUNNO
quota_status_overquota = 552 5.2.2 Mailbox is over quota / Mailbox ist voll
quota_status_success = DUNNO
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=90%% quota-warning 90 %u
sieve = ~/.dovecot.sieve
sieve_before = /var/spool/mail/globalsieve/duplicate.sieve
sieve_dir = ~/sieve
sieve_duplicate_max_period = 5m
stats_refresh = 30 secs
stats_track_cmds = yes
}
postmaster_address = postmaster at domain.de
protocols = imap pop3 lmtp sieve
service auth-worker {
user = dovecot
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
mode = 0666
}
}
service dict {
unix_listener dict {
group = vmail
mode = 0660
user = dovecot
}
}
service imap-postlogin {
executable = script-login /var/mail/imapafter.sh
user = $default_internal_user
}
service imap {
executable = imap
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
service quota-status {
client_limit = 1
executable = quota-status -p postfix
inet_listener {
address = 127.0.0.1
port = 10000
}
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
group = vmail
unix_listener quota-warning {
group = vmail
user = dovecot
}
user = dovecot
}
service stats {
fifo_listener stats-mail {
mode = 0600
user = dovecot
}
}
ssl_cert = </etc/ssl/certs/domain.de.pem
ssl_key = # hidden, use -P to show it
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lmtp {
mail_plugins = acl quota stats listescape notify virtual acl quota sieve
quota_full_tempfail = yes
}
protocol lda {
mail_plugins = acl quota stats listescape notify virtual acl sieve
}
protocol imap {
mail_plugins = acl quota stats listescape notify virtual imap_quota imap_acl imap_stats
}
--
Kind regards,
Fabian
More information about the dovecot
mailing list