David McNett

mailstats.txt

#!/usr/bin/perl -Tw

use strict;
$ENV{'PATH'} = '/bin:/usr/bin:/usr/local/bin';
use Mail::IMAPClient;

# print "Content-type: text/html\n\n";

my $imap = Mail::IMAPClient->new( Server => 'localhost', User => 'nugget', Password => 'PASSWORD');

if(!$imap) {
    print "No IMAP Connection\n";
} else {
    my @folders = $imap->folders;
    my $unread = 0;
    my $spools = 0;
    my $inbox = 0;

    foreach my $f (@folders) {
        if($imap->message_count($f)) {
          my $unseen   = int $imap->unseen_count($f);
          my $messages = int $imap->message_count($f);
          if($unseen > 0) {
              my @foldparts = split /\./, $f;
              my $shortname = $foldparts[(@foldparts - 1)];
              $spools++;
              $unread += $unseen;
              if($shortname eq 'INBOX') {
                $inbox = $unseen;
              }
          }
        }
    }

    my $spams = int $imap->message_count("INBOX.Spam");

    $imap->disconnect();

    print "$unread unread in $spools spools
$inbox in inbox
$spams spams in past 7 days\n"; }
contacts comments