They do. But, it is not enough. My people wanted to know how much space they use in each folder (as wi have people with over 4 gig of emails).
So I did something nice : Here it is: !/usr/bin/perl # Things we use in this script. use strict; use warnings; use CGI qw/:standard/; use IMAP::Admin; my $version = 1.2; # Those lines are defining some values for the CGI-frontend. my $passlen = 12; my $userlen = 30; my $overridefields = 1; # Define some values for connection to the local imap-server. my $imap_port = 143; my $imap_seperator = "."; my $imap = undef; # Print some basic html-stuff. print header; print start_html(-title =>'Email Quota report ', -author =>'[EMAIL PROTECTED]', -BGCOLOR=>'white'),"\n"; ##RR -BGCOLOR=>'#C3CACE'),"\n"; # Create a table and a form. if (!param('login')) { print "<table border=0>\n"; print start_form,"\n", "<tr><td>username: </td><td>", textfield( -name =>'login', -override =>$overridefields, -size =>$userlen, -maxlength =>$userlen),"</td></tr>\n", "<tr><td>password: </td><td>", password_field(-name =>'password', -override =>$overridefields, -size =>$passlen, -maxlength =>$passlen),"</td></tr>\n"; print "</table>\n"; print submit(-value=>'send'),"\n"; print end_form,"\n"; } print hr; # End of the table and the form. # Check the parameters and do some error-catching. # The stuff down here should be self-explaining. # Don't forget to change the password for cyrus at line 72. if(param()) { if(param('login')) { if(param('password')) { $imap = IMAP::Admin->new('Server' => 'localhost', 'Login' => param('login'), 'Password' => param('password'), 'Port' => $imap_port, 'Separator' => $imap_seperator); if($imap->error eq 'No Errors') { $imap->close; $imap = IMAP::Admin->new('Server' => 'localhost', 'Login' => "cyrus", 'Password' => "C0nnect!", 'Port' => $imap_port, 'Separator' => $imap_seperator); my @chars = split(//, param('login')); my $letter = $chars[0]; my $uu = '/usr/local/etc/du -h /var/spool/imap/'.$letter.'/user/'.param('login'); my $color = 'green'; my @quota = $imap->get_quota("user.".param('login')); if(@quota) { my $precent = $quota[1] / $quota[2]; if ($precent ge .8){ $color = 'brown';} if ($precent ge .9) {$color = 'red';} print "<table border=0>\n", "<tr><td>Quota for:</td><td><b>".param('login')."</b></td></tr>\n", "<tr><td>Used :</td><td><font color=\"$color\">".$quota[1]."</font> MB</td></tr>\n", "<tr><td>Total :</td><td><font color=\"Blue\">".$quota[2]."</font> MB</td></tr>\n", "</table><br><hr><br>\n"; print "<pre>"; system "$uu | sort -k 2 |sed \"s#/var/spool/imap/$letter/user/##g\""; print "</pre>"; } else { print "Could not retrieve quota information"; print $imap->error; } $imap->close; } else { if($imap->error =~ /Login failed/) { if($imap->error =~ /: authentication/) { print "Wrong password! Could not log in.", br; } if($imap->error =~ /: user not found/) { print "User not found! Could not log in.", br; } } } } else { print "No password given. Please enter your password!"; } } else { print "No username given. Please enter your username!"; } } else { print "Please enter the above informations!"; } print hr,"\n",end_html; ------------------------------------ Mainsoft Corp [EMAIL PROTECTED] unix and ClearCase admin [EMAIL PROTECTED] Ofek 1 center, 2nd Bldg. North Industrial Area, Lod, 71293 Israel tel: +972-8-978-1300 mobile: +978-58-214707 ------------------------------------ -----Original Message----- From: Andrew Morgan [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 03, 2004 7:14 PM To: Ronen AmitY Cc: [EMAIL PROTECTED] Subject: Re: Php script that will show the size of each directory I have. On Tue, 3 Feb 2004, Ronen AmitY wrote: > Hi all, > > Im looking for a php script that will show me the size of my > directories. (after adding username and passwd). > > If it works with horde system, even better. Doesn't Horde/IMP already include example code for displaying the user's quota and usage? Have a look at imp/config/conf.php... Andy