diff --git a/install/tpl/debian6_dovecot.conf.master b/install/tpl/debian6_dovecot.conf.master index 2ce0db34e28a8247bad207f134d6dae3bb766295..d9088d86a4dc79e00c00a53e7af3ab4d61c85cdc 100644 --- a/install/tpl/debian6_dovecot.conf.master +++ b/install/tpl/debian6_dovecot.conf.master @@ -48,7 +48,7 @@ protocol lda { ## Plugin settings plugin { - quota = dict:user::file:/var/vmail/%n_%d_quota + quota = dict:user::file:/var/vmail/%d/%n/.quotausage # Because the mail quota is called in the user query # the maildir quota does not need to be set. # You do not need: quota = maildir diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php index 4e82e0ad3a36311f7a60c089f0e37e30ff2cff6d..0f0a172f19c2f34077f33b312fcea655399a7255 100644 --- a/server/lib/classes/monitor_tools.inc.php +++ b/server/lib/classes/monitor_tools.inc.php @@ -164,8 +164,25 @@ class monitor_tools { //* The state of the email_quota. $state = 'ok'; + + $mailboxes = $app->db->queryAllRecords("SELECT email FROM mail_user WHERE server_id = $server_id"); + if(is_array($mailboxes)) { + foreach($mailboxes as $mb) { + $email = $mb['email']; + $email_parts = explode('@',$mb['email']); + $filename = '/var/vmail/'.$email_parts[1].'/'.$email_parts[0].'/.quotausage'; + if(file_exists($filename)) { + $quotafile = file($filename); + $data[$email]['used'] = trim($quotafile['1']); + unset($quotafile); + } + } + } + + unset($mailboxes); //* Dovecot quota check Courier in progress lathama@gmail.com + /* if($dir = opendir("/var/vmail")){ while (($quotafiles = readdir($dir)) !== false){ if(preg_match('/.\_quota$/', $quotafiles)){ @@ -177,6 +194,7 @@ class monitor_tools { } closedir($dir); } + */ $res['server_id'] = $server_id; $res['type'] = $type; $res['data'] = $data;