Let’s say some program or script that doesn’t support maildirquota was poking around with a user maildir and you need to recalculate the user maildirsize file (recalculate the quota), you just need to:
cd /home/vpopmail/domains/domain.com/user/Maildir
rm maildirsize
vuserinfo -Q user@domain.com
and, voilá a new and accurate maildirsize file!
EDIT
I did a very simple script that rebuilds the quotas system wide (yes.. it’s PHP, not in real man C or some other fashion language, but it works for me)
$vpopmail_bin = '/home/vpopmail/bin/';
$domains = dir('/home/vpopmail/domains');
while (false !== ($domain = $domains->read())) {
if ($domain != '.' && $domain != '..' && is_dir($domains->path.'/'.$domain)) {
$users = dir($domains->path.'/'.$domain);
while (false !== ($user = $users->read())) {
if ($user != '.' && $user != '..' && is_dir($users->path.'/'.$user)) {
if (file_exists($users->path.'/'.$user.'/Maildir/maildirsize')) {
unlink($users->path.'/'.$user.'/Maildir/maildirsize');
exec($vpopmail_bin.'vuserinfo -Q '.$user.'@'.$domain);
}
}
}
}
}