Quota emails... nothing happened
Stephane Magnier
steph.mag220 at netcourrier.com
Wed Oct 6 13:07:35 EEST 2021
Hi,
OK, I wrote this :
userdb {
driver = passwd
args = /etc/dovecot/quota-overrides
result_success=continue-ok
# Override fields from passwd
#override_fields = home=/home/virtual/%u
}
but sorry I don't understand the following line
username::::::::::quota_ruleX=... where X is the next rule number.
What should I write ?...... for instance : /*azt000:quota_rule1=+160GB*/
? something like that ??
Le 06/10/2021 à 10:13, Aki Tuomi a écrit :
> That `*` there is actually mailbox mask. You have to return an additional quota_ruleN from your userdb for that user.
>
> You can do e.g.
>
> userdb {
> ..
> result_success=continue-ok}
> }
>
> userdb {
> driver = passwd
> args = /etc/dovecot/quota-overrides
> }
>
> and put in there
>
> username::::::::::quota_ruleX=... where X is the next rule number.
>
> the count of : might be wrong.
>
> Aki
>
>> On 06/10/2021 10:43 Stephane Magnier <steph.mag220 at netcourrier.com> wrote:
>>
>>
>> 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 orquota_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/f088404e/attachment.html>
More information about the dovecot
mailing list