Hi, people ! Set up global quota according to docs to 2 Mb. Send more than ten Mb on the box. Mail still getting put in the box, no bounces, no error messages in logs, nothing to prevent mail to be delivered in overflooded mailbox.
quota settings are: mail_plugins = quota lmtp_rcpt_check_quota = yes quota_full_tempfail = yes protocol lmtp { postmaster_address = postmaster # required mail_plugins = $mail_plugins sieve } protocol lda { mail_plugins = $mail_plugins sieve } protocol imap { mail_plugins = $mail_plugins imap_quota } plugin { quota = maildir:"User quota" quota_rule = *:storage=10M quota_rule3 = INBOX.Trash:storage=+10%% quota_exceeded_message = "552 5.2.2 Mailbox is full" } doveconf -n is attached. # doveadm quota get Quota name Type Value Limit % "User quota" STORAGE 0 10240 0 "User quota" MESSAGE 0 - # doveadm quota get -u vadim Quota name Type Value Limit % "User quota" STORAGE 0 10240 0 "User quota" MESSAGE 0 - # du -sh /var/mail/vadim/ 23M /var/mail/vadim/ I tried to pass quota_rule as an argument to userdb, quota is being parsed, but still doesn't work. I think problem is that dovecot can't (re)calculate the actual quota on disc (cant calculate how disk space mailbox is used), despite the fact that quota limit itself is configured correctly, since dovecot shows it in log and doveconf -n. What I am dong wrong ?
dove.conf
Description: Binary data
Sep 1 21:28:37.666390 info dovecot: imap(Administrator): Connection closed (IDLE running for 0.001 + waiting input for 0.001 secs, 2 B in + 10+10 B out, state=wait-input) in=826 out=3307 Sep 1 21:28:37.667477 debug dovecot: auth: Debug: checkpassword(vadim@vadim.local): Received input: user=vadim userdb_home=/var/spool/mail/vadim/ password={PLAIN}vadim userdb_uid=imap userdb_gid=mail Sep 1 21:28:37.668861 debug dovecot: auth: Debug: checkpassword(vadim@vadim.local): exit_status=2 Sep 1 21:28:37.668875 debug dovecot: auth: Debug: checkpassword(vadim@vadim.local): username changed vadim@vadim.local -> vadim Sep 1 21:28:37.668878 debug dovecot: auth: Debug: checkpassword(vadim): Credentials: 766164696d Sep 1 21:28:37.668881 debug dovecot: auth: Debug: userdb out: USER 4 vadim home=/var/spool/mail/vadim/ uid=504 gid=12 Sep 1 21:28:37.668884 debug dovecot: lmtp(vadim@vadim.local): Debug: auth USER input: vadim home=/var/spool/mail/vadim/ uid=504 gid=12 Sep 1 21:28:37.668886 debug dovecot: lmtp(vadim@vadim.local): Debug: changed username to vadim Sep 1 21:28:37.668889 debug dovecot: lmtp(21650): Debug: Effective uid=504, gid=12, home=/var/spool/mail/vadim/ Sep 1 21:28:37.668891 debug dovecot: lmtp(21650): Debug: Quota root: name="User quota" backend=maildir args= Sep 1 21:28:37.668893 debug dovecot: lmtp(21650): Debug: Quota rule: root="User quota" mailbox=* bytes=10485760 messages=0 Sep 1 21:28:37.668896 debug dovecot: lmtp(21650): Debug: Quota grace: root="User quota" bytes=1048576 (10%) Sep 1 21:28:37.668898 debug dovecot: lmtp(21650): Debug: Namespace : type=public, prefix=INBOX., sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes location=mdbox:/var/spool/mail/vadim Sep 1 21:28:37.668930 debug dovecot: lmtp(21650): Debug: fs: root=/var/spool/mail/vadim, index=, indexpvt=, control=, inbox=, alt= Sep 1 21:28:37.668934 debug dovecot: lmtp(21650): Debug: Namespace : type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no location=fail::LAYOUT=none Sep 1 21:28:37.668937 debug dovecot: lmtp(21650): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt= Sep 1 21:28:37.668939 debug dovecot: lmtp(21650): Debug: quota: quota_over_flag check: STORAGE ret=1 value=0 limit=10240 Sep 1 21:28:37.668942 debug dovecot: lmtp(21650): Debug: quota: quota_over_flag check: MESSAGE ret=0 value=0 limit=0 Sep 1 21:28:37.668944 debug dovecot: lmtp(21650): Debug: quota: quota_over_flag=0((null)) vs currently overquota=0 Sep 1 21:28:37.669965 debug dovecot: lmtp(21650, vadim): Debug: Effective uid=504, gid=12, home=/var/spool/mail/vadim/ Sep 1 21:28:37.669974 debug dovecot: lmtp(21650, vadim): Debug: Quota root: name="User quota" backend=maildir args= Sep 1 21:28:37.669977 debug dovecot: lmtp(21650, vadim): Debug: Quota rule: root="User quota" mailbox=* bytes=10485760 messages=0 Sep 1 21:28:37.669979 debug dovecot: lmtp(21650, vadim): Debug: Quota grace: root="User quota" bytes=1048576 (10%) Sep 1 21:28:37.669982 debug dovecot: lmtp(21650, vadim): Debug: Namespace : type=public, prefix=INBOX., sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes location=mdbox:/var/spool/mail/vadim Sep 1 21:28:37.669984 debug dovecot: lmtp(21650, vadim): Debug: fs: root=/var/spool/mail/vadim, index=, indexpvt=, control=, inbox=, alt= Sep 1 21:28:37.669987 debug dovecot: lmtp(21650, vadim): Debug: Namespace : type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no location=fail::LAYOUT=none Sep 1 21:28:37.669989 debug dovecot: lmtp(21650, vadim): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt= Sep 1 21:28:37.669992 debug dovecot: lmtp(21650, vadim): Debug: quota: quota_over_flag check: STORAGE ret=1 value=0 limit=10240 Sep 1 21:28:37.669994 debug dovecot: lmtp(21650, vadim): Debug: quota: quota_over_flag check: MESSAGE ret=0 value=0 limit=0 Sep 1 21:28:37.669996 debug dovecot: lmtp(21650, vadim): Debug: quota: quota_over_flag=0((null)) vs currently overquota=0 Sep 1 21:28:37.670042 debug dovecot: lmtp(vadim): Debug: sieve: Pigeonhole version 0.4.16 (fed8554) initializing Sep 1 21:28:37.670046 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: file storage: Performing auto-detection Sep 1 21:28:37.670049 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: file storage: Root exists (/var/spool/mail/vadim/) Sep 1 21:28:37.670051 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: file storage: Storage path `/var/spool/mail/vadim//sieve' not found Sep 1 21:28:37.670053 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: file storage: Active script path is unconfigured; using default (path=~/.dovecot.sieve) Sep 1 21:28:37.670056 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: file storage: Using Sieve script path: /mnt/rw_disc/var/spool/mail/vadim/.dovecot.sieve Sep 1 21:28:37.670058 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: file storage: Storage path `/mnt/rw_disc/var/spool/mail/vadim/.dovecot.sieve' not found Sep 1 21:28:37.670061 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: storage: Trying default script location `/mnt/rw_disc/dovecot/sieve/default.sieve' Sep 1 21:28:37.670063 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: file storage: Using Sieve script path: /mnt/rw_disc/dovecot/sieve/default.sieve Sep 1 21:28:37.670066 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: file script: Opened script `default' from `/mnt/rw_disc/dovecot/sieve/default.sieve' Sep 1 21:28:37.670068 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: Using the following location for user's Sieve script: /mnt/rw_disc/dovecot/sieve/default.sieve Sep 1 21:28:37.670105 debug dovecot: lmtp(vadim): Debug: Mailbox <lmtp DATA>: Opened mail UID=1 because: header Message-ID (Cache file is unusable) Sep 1 21:28:37.670109 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: Opening script 1 of 1 from `/mnt/rw_disc/dovecot/sieve/default.sieve' Sep 1 21:28:37.670112 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: Loading script /mnt/rw_disc/dovecot/sieve/default.sieve Sep 1 21:28:37.670114 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: Script binary /mnt/rw_disc/dovecot/sieve/default.svbin successfully loaded Sep 1 21:28:37.670116 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: binary save: not saving binary /mnt/rw_disc/dovecot/sieve/default.svbin, because it is already stored Sep 1 21:28:37.670119 debug dovecot: lmtp(vadim): Debug: Ees3IrWKqVmSVAAA6J370A: sieve: Executing script from `/mnt/rw_disc/dovecot/sieve/default.svbin' Sep 1 21:28:37.670121 debug dovecot: lmtp(vadim): Debug: Mailbox <lmtp DATA>: Opened mail UID=1 because: header X-KLMS-AntiSpam-Status (Cache file is unusable) Sep 1 21:28:37.670124 debug dovecot: lmtp(vadim): Debug: Namespace INBOX.: Using permissions from /var/spool/mail/vadim: mode=0770 gid=default Sep 1 21:28:37.670126 debug dovecot: lmtp(vadim): Debug: Mailbox <lmtp DATA>: Opened mail UID=1 because: copying Sep 1 21:28:37.687124 debug dovecot: lmtp(vadim): Debug: Mailbox <lmtp DATA>: Opened mail UID=1 because: virtual size (Cache file is unusable) Sep 1 21:28:37.687139 info dovecot: lmtp(vadim): Ees3IrWKqVmSVAAA6J370A: sieve: msgid=<80bf7f11-1295-4892-dad9-53dc756c4c65@vadim.local>: stored mail into mailbox 'INBOX' Sep 1 21:28:37.687143 info dovecot: lmtp(21650): Disconnect from local: Successful quit Sep 1 21:28:38.199357 debug dovecot: imap(vadim): Debug: Mailbox INBOX: Opened mail UID=35 because: full mail