Quota emails... nothing happened

Aki Tuomi aki.tuomi at open-xchange.com
Wed Oct 6 08:50:39 EEST 2021


> On 06/10/2021 08:38 Stephane Magnier <steph.mag220 at netcourrier.com> wrote:
> 
> 
> 
>  
> 
> Le 06/10/2021 à 06:51, Aki Tuomi a écrit :
> 
> > > On 06/10/2021 07:30 Stephane Magnier <steph.mag220 at netcourrier.com> wrote:
> > > 
> > > 
> > > 
> > >  
> > > 
> > > Le 06/10/2021 à 06:10, Stephane Magnier a écrit :
> > > 
> > > 
> > > > Hi,
> > > >  I am just running Dovecot v 2.3.8 .. seems to work fine.
> > > >  I just add the quota plugin.. and.. I cannot see any differences.. I cannot see any information on Quota per user.. No specific info on Log file :-(
> > > >  
> > > >  Any help please ?
> > > >  
> > > >  Tahnks for your help
> > > >  
> > > >  Here is my config :
> > > >  
> > > > 
> > > > # 2.3.8 (9df20d2db): /etc/dovecot/dovecot.conf
> > > > # Pigeonhole version 0.5.8 (b7b03ba2)
> > > > # OS: Linux 4.18.0-305.12.1.el8_4.x86_64 x86_64 CentOS Linux release 8.4.2105 nfs4
> > > > # Hostname: mbox1.intranet.office.itx
> > > > auth_cache_negative_ttl = 5 mins
> > > > auth_cache_ttl = 5 mins
> > > > auth_mechanisms = plain login
> > > > auth_username_format = %u
> > > > debug_log_path = /var/log/dovecot-debug.log
> > > > default_vsz_limit = 4 G
> > > > info_log_path = /var/log/dovecot-info.log
> > > > listen = * [::]
> > > > log_path = /var/log/dovecot.log
> > > > login_trusted_networks = 172.18.0.0/16 127.0.0.1 ::1
> > > > mail_access_groups = dovecot
> > > > mail_fsync = always
> > > > mail_location = maildir:/var/spool2/mail/%u:LAYOUT=fs
> > > > mail_nfs_storage = yes
> > > > mail_plugins = " quota"
> > > > mail_privileged_group = mail
> > > > 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 ihave
> > > > mbox_very_dirty_syncs = yes
> > > > mbox_write_locks = fcntl
> > > > mmap_disable = yes
> > > > namespace inbox {
> > > >   disabled = no
> > > >   ignore_on_failure = no
> > > >   inbox = yes
> > > >   list = yes
> > > >   location = 
> > > >   mailbox Archive {
> > > >     auto = no
> > > >     comment = " All my Accepted/NON  SPAM"
> > > >     special_use = \Archive
> > > >   }
> > > >   mailbox Drafts {
> > > >     auto = subscribe
> > > >     special_use = \Drafts
> > > >   }
> > > >   mailbox Junk {
> > > >     auto = subscribe
> > > >     autoexpunge = 90 days
> > > >     special_use = \Junk
> > > >   }
> > > >   mailbox Sent {
> > > >     auto = subscribe
> > > >     special_use = \Sent
> > > >   }
> > > >   mailbox Trash {
> > > >     auto = no
> > > >     autoexpunge = 60 days
> > > >     special_use = \Trash
> > > >   }
> > > >   mailbox virtual/All {
> > > >     auto = no
> > > >     special_use = \All
> > > >   }
> > > >   prefix = 
> > > >   subscriptions = yes
> > > >   type = private
> > > > }
> > > > passdb {
> > > >   driver = pam
> > > > }
> > > > plugin {
> > > >   quota_grace = 10%%
> > > >   quota_max_mail_size = 100M
> > > >   quota_rule = *:storage=10000M
> > > >   quota_rule2 = Trash:Storage=+100M
> > > >   quota_rule3 = Spam:storage=+20%%
> > > >   quota_status_nouser = DUNNO
> > > >   quota_status_overquota = 552 5.2.2 Mailbox is full
> > > >   quota_status_success = DUNNO
> > > >   quota_warning = storage=95%% quota-warning 95 %u
> > > >   quota_warning2 = storage=80%% quota-warning 80 %u
> > > >   quota_warning3 = -storage=100%% quota-warning below %u
> > > >   sieve = file:~/sieve;active=~/.dovecot.sieve
> > > > }
> > > > pop3_uidl_format = %v-%u
> > > > service auth {
> > > >   unix_listener auth-master {
> > > >     mode = 0666
> > > >   }
> > > >   unix_listener auth-userdb {
> > > >     mode = 0600
> > > >     user = mail
> > > >   }
> > > > }
> > > > service dict {
> > > >   unix_listener dict {
> > > >     mode = 0600
> > > >     user = mail
> > > >   }
> > > > }
> > > > service imap-login {
> > > >   inet_listener imap {
> > > >     port = 143
> > > >   }
> > > >   inet_listener imaps {
> > > >     port = 993
> > > >     ssl = yes
> > > >   }
> > > >   process_min_avail = 4
> > > >   service_count = 0
> > > > }
> > > > service lmtp {
> > > >   inet_listener lmtp {
> > > >     port = 24
> > > >   }
> > > >   unix_listener /var/run/lmtp {
> > > >     group = mail
> > > >     mode = 0660
> > > >     user = mail
> > > >   }
> > > > }
> > > > service pop3-login {
> > > >   inet_listener pop3 {
> > > >     address = *
> > > >     port = 110
> > > >   }
> > > >   inet_listener pop3s {
> > > >     port = 995
> > > >     ssl = yes
> > > >   }
> > > > }
> > > > service quota-warning {
> > > >   executable = script /usr/local/bin/quota-warning.sh
> > > >   unix_listener quota-warning {
> > > >     user = mail
> > > >   }
> > > >   user = dovecot
> > > > }
> > > > service submission {
> > > >   process_limit = 250
> > > > }
> > > > ssl = required
> > > > ssl_ca = </etc/mail/ssl/ssl1/xxxxxp_net.ca-bundle
> > > > ssl_cert = </etc/mail/ssl/ssl1/xxxxxx_net.crt
> > > > ssl_cipher_list = HIGH:!aNULL:!ADH:!DH:!RC4:!MD5:!RSA
> > > > ssl_dh = # hidden, use -P to show it
> > > > ssl_key = # hidden, use -P to show it
> > > > userdb {
> > > >   driver = passwd
> > > > }
> > > > verbose_proctitle = yes
> > > > protocol lmtp {
> > > >   mail_fsync = optimized
> > > >   mail_plugins = autocreate quota acl fts fts_solr zlib mail_log notify sieve
> > > >   postmaster_address = it at intranet.office.itx
> > > > }
> > > > protocol lda {
> > > >   mail_fsync = optimized
> > > >   mail_plugins = " quota sieve quota"
> > > > }
> > > > protocol imap {
> > > >   mail_max_userip_connections = 80
> > > >   mail_plugins = " quota quota imap_quota"
> > > >   ssl_cert = </etc/mail/ssl/ssl1/STAR_aztgrp_net.crt
> > > >   ssl_key = # hidden, use -P to show it
> > > > }
> > > > protocol pop3 {
> > > >   mail_max_userip_connections = 10
> > > >   mail_plugins = " quota"
> > > > }
> > > > protocol submission {
> > > >   mail_max_userip_connections = 10
> > > >   mail_plugins = " quota"
> > > > }
> > > > 
> > > > 
> > > > 
> > >  Just for info
> > >  
> > >  [root at mbox1 xenia]# doveadm quota get -A |grep "STORAGE"
> > >  Nothing at all ?? weird
> > >  [root at mbox1 xenia]#
> > >  
> > >  [root at mbox1 xenia]# doveadm quota get -u <user1>
> > >  Quota name Type Value Limit %
> > >  [root at mbox1 xenia]#
> > >  => Absolutely nothing is displayed ????
> > >  
> > >  
> > >  normally, the size of the user1 email folder is about 21 Gb
> > >  So..just modified the line :quota_rule = *:storage=100G
> > >  But nothing has changed...
> > > 
> > > 
> > > 
> > You are missing quota driver settings, the recommended settings are
> > 
> > plugin {
> >  quota = count
> >  quota_vsizes = yes
> > }
> > 
> > Aki
> > 
> 
>  Hi Aki,
>  Thanks for your reply..
>  
>  I just tryed to ad it.. but this can't connect anymore .
>  Here is my exact declaration "90-quota.conf"
>  
>  ( based on : https://doc.dovecot.org/configuration_manual/quota/ )
> 
> > plugin {
> >  quota = count
> >  quota_vsizes = yes
> >  #quota = maildir:User quota
> >  quota_rule = *:storage=100GB
> >  # quota_rule2 = Trash:storage=+100MB
> >  # quota_rule3 = Spam:storage=+20%%
> >  # 20% of 100GB = 20GB
> >  quota_status_success = DUNNO
> >  quota_status_nouser = DUNNO
> >  quota_status_overquota = "552 5.2.2 Mailbox is full"
> >  quota_warning = storage=95%% quota-warning 95 %u
> >  quota_warning2 = storage=80%% quota-warning 80 %u
> >  quota_warning3 = -storage=100%% quota-warning below %u
> >  
> >  # LDA/LMTP allows saving the last mail to bring user from under quota to
> >  # over quota, if the quota doesn't grow too high. Default is to allow as
> >  # long as quota will stay under 10% above the limit. Also allowed e.g. 10M.
> >  quota_grace = 10%%
> >  
> >  # Quota plugin can also limit the maximum accepted mail size.
> >  quota_max_mail_size = 100M
> >  }
> > 
> 
>  
>  The error message I have now is :
>  
>  Oct 06 07:23:35 imap(azt000)<7381><3pAIWajNgdcgAUHQ/kJ8Aikr1PIAQmFL>: Error: Failed to initialize quota: Invalid quota root quota: Invalid rule Trash:Storage=+100M: Unknown rule limit name: Storage
>  Oct 06 07:23:35 imap(azt000)<7382><jqwJWajNgtcgAUHQ/kJ8Aikr1PIAQmFL>: Error: Failed to initialize quota: Invalid quota root quota: Invalid rule Trash:Storage=+100M: Unknown rule limit name: Storage
>  Oct 06 07:26:02 master: Warning: Killed with signal 15 (by pid=8420 uid=0 code=kill)
>  Oct 06 07:26:10 imap(azt000)<8468><cDRLYqjNcsSsEgA3>: Error: Failed to initialize quota: Invalid quota root quota: Invalid rule Trash:Storage=+100M: Unknown rule limit name: Storage
>  Oct 06 07:26:13 imap(azt000)<8469><mxN6YqjNdMSsEgA3>: Error: Failed to initialize quota: Invalid quota root quota: Invalid rule Trash:Storage=+100M: Unknown rule limit name: Storage
> 
>  Then you can see that I've removed the 2 lines 
>  # quota_rule2 = Trash:storage=+100MB
>  # quota_rule3 = Spam:storage=+20%%
>  
>  but without any success
>  
>  Effectively.. what is the Word "Storage" for Dovecot ?? no idea ... I just wrote what I saw :-)
>  
>  For info : all the mailbox are placed on a NFS storage.. Don't know if this help to locate the problem..
>  Thanks and regards,
>  
>  
>  
>

Did you try changing Storage => storage in your rule? It seems to be coming either from userdb or your config.

Try `doveadm user azt000` to if your userdb is providing these rules.

Aki


More information about the dovecot mailing list