PDA

View Full Version : Quota = -1, but gets error: "maildir over quota"


Thomas Jensen
3rd September 2009, 20:24
One of my mailaccounts gets this error:

temporary failure. Command output: maildrop: maildir over
quota.

I've set the quota to "-1", but it doesn't seems to help :(

A sidestep:
I've often observed that when some limits (client limits) is set to -1, they are reset automatically to 0.

Thomas Jensen
3rd September 2009, 21:25
I've discovered that all older domains are added with another sys_perm_group in mail_domain than the new one.

domain_id sys_userid sys_groupid sys_perm_user sys_perm_group sys_perm_other server_id domain active
1 1 3 riud ruid 1 old_domain.dk y
2 1 2 riud ru 1 newer_domain.dk y
so, ruid is now ru?

in the mail_user table, the quota field for the specific mailbox is -1048576.

till
3rd September 2009, 23:35
I've discovered that all older domains are added with another sys_perm_group in mail_domain than the new one.

The permissions depend on the fact which user has created the domains. If they are created by the admin, the group permissions are ru to prevent users from deleting domains that they had not created. But this is not realted to quota, as postfix and courier dont care about the ispconfig permission fields.

in the mail_user table, the quota field for the specific mailbox is -1048576.

This explains your problem as -1048576 is no valid value for this field. Valid values are only positive values or -1.

Thomas Jensen
3rd September 2009, 23:51
Okay, then i'll change it in PHPmyadmin, but, all the rows have that problem, and that's even after i set Quota = -1 in the control panel.

Update:
I did: UPDATE `mail_user` SET `quota` = -1 WHERE `quota` < -1, which worked fine.
But now, in the CP, the quota is shown as -9.53674316406E-7.

till
4th September 2009, 00:59
I have no idea how this can happen most likely there is a problem with your mysql databse, e.g with the charsets or connection from mysql to php. as ispconfig is not converting numbers in any way, they were directly output from the DB. You should try to find out waht you changed in your configuration right before the problem started.

Thomas Jensen
4th September 2009, 01:03
I haven't changed anything i know of...

The charset of all tables is: utf8_general_ci

What can i do?

till
4th September 2009, 01:11
I have no idea. I can not even think of a logical reason how this can happen.

The number -9.53674316406E-7 is equal to -1 kilobyte, but how shall this come together in this case??

What is the type of the column "quota" in the mail_user table?

Thomas Jensen
4th September 2009, 01:33
The type is: int(11), but it has no Collation.

till
4th September 2009, 10:49
Thats OK. I was able to reproduce this now on one of my systems. I will make a patch for it.

till
4th September 2009, 11:11
I think I've found the problem.

Please replace the file /usr/local/ispconfig/interface/web/mail/mail_user_edit.php with the file in the attached .zip file and check if this solves the problem.

stevenbg
4th September 2009, 19:00
Hi.
Today I update my server (CentOS 5.3 x86) from 3.0.1.2 to 3.0.1.4.
When I check Email Mailbox's for my users the default mail quota was "0".
When change something and try to save them I receive message that
the right value is "-1" or ">1". I change it to "-1" and save.
Then user's stops to receive emails. When I check log's i seen that there
mail quota is "-1048576" (same value is in the MySQL table "mail_user" but
in CP this was right - "-1".
I change the value in CP to "5000" and save. When go again to check the value
I see that the value for quota is this "2047.9999990463" (no problem this is
high enough) for mail quota.
Start to search - and found this thread. Download and replace
/usr/local/ispconfig/interface/web/mail/mail_user_edit.php.
Then when edit mailbox and set quota to "-1" and when check value in CP
and MySQL all is allright - the value is "-1", but in mail log I see this:
"Sep 4 17:47:38 ibm335 postfix/pipe[31044]: 840F6C78002: to=<me@xxxxxxxxx.info>, relay=maildrop, delay=0.12, delays=0.04/0.01/0/0.06, dsn=5.7.0, status=bounced (permission denied. Command output: WARN: quota string '-1' not parseable maildrop: maildir over quota. )"

Where is the problem? I thing there is more things to change.

P.S. In 3.0.1.2 with value of "0" all works fine.

10x in advice

till
4th September 2009, 19:12
Thanks, I will check that.

till
4th September 2009, 19:28
Please upload the file which is in the attached .zip to /usr/local/ispconfig/interface/web/mail/form/

And then adjust the error message in /usr/local/ispconfig/interface/web/mail/lib/lang/en_mail_user.lng to:

Invalid quota value. Allowed values are: 0 for unlimited or numbers > 1

The value 0 is now unlimited again. I will fix this in the released version too.

stevenbg
4th September 2009, 20:38
Please upload the file which is in the attached .zip to /usr/local/ispconfig/interface/web/mail/form/

And then adjust the error message in /usr/local/ispconfig/interface/web/mail/lib/lang/en_mail_user.lng to:

Invalid quota value. Allowed values are: 0 for unlimited or numbers > 1

The value 0 is now unlimited again. I will fix this in the released version too.

I do all plus restart httpd and re-login to ISPConfig. When change mail quota
to "0" just receive error "# Invalid quota value. Allowed values are: 0 for unlimited or numbers > 1" and can't save changes.

till
4th September 2009, 20:57
Please try this one instead.

stevenbg
4th September 2009, 21:08
Please try this one instead.

Now work fine.
In CP and in MySQL the quota is "0" and e-mails are receiving.

Thank you

bajodel
5th September 2009, 05:55
.. :confused: ..

Example:

ResellerA assign 100 Mb as (total) mail quota limit to ClientA

ClientA create 2 mailbox with 50 Mb quota, when try to assign more quota to the third mailbox ISPConfig3 notify the quota is reached. ClientA start to asign 0 quota to new mailboxs .. and bypass total quota assigned.

I think that a client should not assign 'unlimited quota' to his mailboxes if he HAS NOT unlimited total mail quota (given from his reseller).

Bye..

bajodel.

Thomas Jensen
5th September 2009, 12:30
Damn Till, you're the man!
It worked, now the value in the CP, matches those in the mySQL.

But i still have this in monitor -> MailQueue

EF53AD32002 3132780 Mon Aug 31 21:34:11 name@some.domain.dk
(temporary failure. Command output: maildrop: maildir over quota.)
name@domain.dk

bajodel
7th September 2009, 03:18
..[CUT].. I think that a client should not assign 'unlimited quota' to his mailboxes if he HAS NOT unlimited total mail quota (given from his reseller).


(i know ..self-quoting is not a good practice :D)

..till, falko .. i'm the only who have noticed this issue ?


Bye..

bajodel.

till
7th September 2009, 10:09
If you want to file it as bug report, please post it to the bugtracker.

dclardy
8th September 2009, 04:27
Damn Till, you're the man!
It worked, now the value in the CP, matches those in the mySQL.

But i still have this in monitor -> MailQueue

EF53AD32002 3132780 Mon Aug 31 21:34:11 name@some.domain.dk
(temporary failure. Command output: maildrop: maildir over quota.)
name@domain.dk

This is the exact same issue that I am having. I have followed the steps given earlier, but it is still not working for me. Any update on how to push the mail through the queue?

Thanks for the help.

dclardy
8th September 2009, 18:13
I went in and adjusted the quota on the accounts to be 100 mb. I waited for the queue to clear, and then I readjusted the quota back to 0.

Emails are going through now.