Quota emails... nothing happened
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 =
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 =
Just for info
[root@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" Nothing at all ?? weird [root@mbox1 xenia]#
[root@mbox1 xenia]# doveadm quota get -u <user1> Quota name Type Value Limit % [root@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... *
On 06/10/2021 07:30 Stephane Magnier steph.mag220@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 =
Just for info
[root@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" Nothing at all ?? weird [root@mbox1 xenia]#
[root@mbox1 xenia]# doveadm quota get -u <user1> Quota name Type Value Limit % [root@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
Le 06/10/2021 à 06:51, Aki Tuomi a écrit :
On 06/10/2021 07:30 Stephane Magnier steph.mag220@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 =
Just for info
[root@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" Nothing at all ?? weird [root@mbox1 xenia]#
[root@mbox1 xenia]# doveadm quota get -u <user1> Quota name Type Value Limit % [root@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/ 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>
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,
On 06/10/2021 08:38 Stephane Magnier steph.mag220@netcourrier.com wrote:
Le 06/10/2021 à 06:51, Aki Tuomi a écrit :
On 06/10/2021 07:30 Stephane Magnier steph.mag220@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 =
Just for info
[root@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" Nothing at all ?? weird [root@mbox1 xenia]#
[root@mbox1 xenia]# doveadm quota get -u <user1> Quota name Type Value Limit % [root@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>
: 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
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@netcourrier.com wrote:
Le 06/10/2021 à 06:51, Aki Tuomi a écrit :
On 06/10/2021 07:30 Stephane Magnier steph.mag220@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 =
Just for info
[root@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" Nothing at all ?? weird [root@mbox1 xenia]#
[root@mbox1 xenia]# doveadm quota get -u <user1> Quota name Type Value Limit % [root@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>
: 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
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 Magniersteph.mag220@netcourrier.com wrote:
Le 06/10/2021 à 06:51, Aki Tuomi a écrit :
On 06/10/2021 07:30 Stephane Magniersteph.mag220@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 =
Just for info
[root@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" Nothing at all ?? weird [root@mbox1 xenia]#
[root@mbox1 xenia]# doveadm quota get -u <user1> Quota name Type Value Limit % [root@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>
: 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
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@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@netcourrier.com wrote:
Le 06/10/2021 à 06:51, Aki Tuomi a écrit :
On 06/10/2021 07:30 Stephane Magnier steph.mag220@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 = ssl_cert = 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@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 = 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@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" Nothing at all ?? weird [root@mbox1 xenia]#
[root@mbox1 xenia]# doveadm quota get -u <user1> Quota name Type Value Limit % [root@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>
: 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
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@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@netcourrier.com wrote:
Le 06/10/2021 à 06:51, Aki Tuomi a écrit :
> On 06/10/2021 07:30 Stephane Magnier steph.mag220@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 = > ssl_cert = > 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@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 = > 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@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" > Nothing at all ?? weird > [root@mbox1 xenia]# >
> [root@mbox1 xenia]# doveadm quota get -u <user1> > Quota name Type Value Limit % > [root@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 areplugin { 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>
: 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
The rules must be consecutive,
if your global config has
quota_rule1 quota_rule2
then the userdb must return
quota_rule3. Or it will overwrite an existing rule.
Aki
On 06/10/2021 13:07 Stephane Magnier steph.mag220@netcourrier.com wrote:
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@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@netcourrier.com wrote:
Le 06/10/2021 à 06:51, Aki Tuomi a écrit :
> > On 06/10/2021 07:30 Stephane Magnier steph.mag220@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 = > > ssl_cert = > > 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@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 = > > 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@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" > > Nothing at all ?? weird > > [root@mbox1 xenia]# > >
> > [root@mbox1 xenia]# doveadm quota get -u <user1> > > Quota name Type Value Limit % > > [root@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>
: 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
OK, but is the syntax correct ?
Should it be : *azt000:quota_rule4=+160GB ? *Is that correct ?*
*Because I've made the test.. It didn't "shoot at me" while restarting the service, it apparently accept the syntax, but the result is still wrong.. It is still considering a limit of 30gb and not 160Gb ( the line : quota_rule = *:storage=30GB )
To sum up , I have
plugin {
quota = maildir:User quota
quota_rule = *:storage=30GB
quota_rule2 = Trash:storage=+100MB
quota_rule3 = Spam:storage=+20%%
azt000:quota_rule4=+160GB
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
quota_grace = 10%%
# Quota plugin can also limit the maximum accepted mail size.
quota_max_mail_size = 100M
}
and
userdb {
driver = passwd
args = /etc/dovecot/quota-overrides
result_success=continue-ok
}
but
[root@mbox1 conf.d]# service dovecot restart
Redirecting to /bin/systemctl restart dovecot.service
[root@mbox1 conf.d]# doveadm quota get -u azt000
Quota name Type Value Limit %
User quota STORAGE 22268406
31457280 70
User quota MESSAGE 29853 - 0
[root@mbox1 conf.d]#
With 70% ; it's considering the 30Gb and not the 160Gb ( the AZT000 folder size is about 21Gb )
Le 06/10/2021 à 14:08, Aki Tuomi a écrit :
The rules must be consecutive,
if your global config has
quota_rule1 quota_rule2
then the userdb must return
quota_rule3. Or it will overwrite an existing rule.
Aki
On 06/10/2021 13:07 Stephane Magnier steph.mag220@netcourrier.com wrote:
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 : ? 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@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@netcourrier.com wrote: > > > >
> > Le 06/10/2021 à 06:51, Aki Tuomi a écrit : > > > >>> On 06/10/2021 07:30 Stephane Magnier steph.mag220@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 = >>> ssl_cert = >>> 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@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 = >>> 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@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" >>> Nothing at all ?? weird >>> [root@mbox1 xenia]# >>>
>>> [root@mbox1 xenia]# doveadm quota get -u <user1> >>> Quota name Type Value Limit % >>> [root@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>: 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
No. The syntax is not correct.
https://doc.dovecot.org/configuration_manual/quota/#quota-rules
this says that the rule is:
quota_rule = <mailbox name>:<limit configuration>
so unless you want 160GB quota for mailbox folder azt000
(not username), you want to use * here.
Aki
On 06/10/2021 15:36 Stephane Magnier steph.mag220@netcourrier.com wrote:
OK, but is the syntax correct ?
Should it be :azt000:quota_rule4=+160GB ? Is that correct ?
Because I've made the test.. It didn't "shoot at me" while restarting the service, it apparently accept the syntax, but the result is still wrong.. It is still considering a limit of 30gb and not 160Gb ( the line : quota_rule = *:storage=30GB )
To sum up , I have
plugin { quota = maildir:User quota quota_rule = *:storage=30GB quota_rule2 = Trash:storage=+100MB quota_rule3 = Spam:storage=+20%% azt000:quota_rule4=+160GB
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 quota_grace = 10%%
# Quota plugin can also limit the maximum accepted mail size. quota_max_mail_size = 100M }
and
userdb { driver = passwd args = /etc/dovecot/quota-overrides result_success=continue-ok }
but
[root@mbox1 conf.d]# service dovecot restart Redirecting to /bin/systemctl restart dovecot.service [root@mbox1 conf.d]# doveadm quota get -u azt000 Quota name Type Value Limit % User quota STORAGE 22268406 31457280 70 User quota MESSAGE 29853 - 0 [root@mbox1 conf.d]#
With 70% ; it's considering the 30Gb and not the 160Gb ( the AZT000 folder size is about 21Gb )
Le 06/10/2021 à 14:08, Aki Tuomi a écrit :
The rules must be consecutive,
if your global config has
quota_rule1 quota_rule2
then the userdb must return
quota_rule3. Or it will overwrite an existing rule.
Aki
On 06/10/2021 13:07 Stephane Magnier steph.mag220@netcourrier.com wrote:
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 : ? 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@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@netcourrier.com wrote: > > > > > > > >
> > > > Le 06/10/2021 à 06:51, Aki Tuomi a écrit : > > > > > > > > > > > > On 06/10/2021 07:30 Stephane Magnier steph.mag220@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 = > > > > ssl_cert = > > > > 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@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 = > > > > 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@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" > > > > Nothing at all ?? weird > > > > [root@mbox1 xenia]# > > > >
> > > > [root@mbox1 xenia]# doveadm quota get -u <user1> > > > > Quota name Type Value Limit % > > > > [root@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>: 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. > > Trydoveadm user azt000
to if your userdb is providing these rules. > > Aki > > >
participants (2)
-
Aki Tuomi
-
Stephane Magnier