Quota emails... nothing happened

Stephane Magnier steph.mag220 at netcourrier.com
Wed Oct 6 10:43:56 EEST 2021


Hi Again,

Juste another one...

The quota I've decided is 30Gb for everybody
I would like to add an exception for the user AZT000 so here is my test :

I put 60 GB for AZT000, but apparently, this is not seen :-(    No error 
message
  Is there a general syntax for a specific user ?

NB: I tried :
*quota_rule* = azt000:storage=+60GB or *quota_rule1* = 
azt000:storage=+60GB  same results


    plugin {
      quota = maildir:User quota
      quota_rule = *:storage=30GB
      quota_rule2 = Trash:storage=+100MB
      quota_rule3 = Spam:storage=+20%%
      # quota_rule = *:storage=70GB
      # quota_rule = *:storage=70GB
    *quota_rule = azt000:storage=+60GB*


Le 06/10/2021 à 08:09, Stephane Magnier a écrit :
> Great !! works fine..
>
> I had in fact, twice the same déclaration of quotat and storage on the 
> same file..... one of them was with an upper case "S" for Storage..
>
> Thanks again
>
> Le 06/10/2021 à 07:50, Aki Tuomi a écrit :
>>> 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
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20211006/1c6cd660/attachment.html>


More information about the dovecot mailing list