in reply to Mail check?
Oh yah, it uses a Config::rc module that I've been working on, but you can just hardcode your server and username if you want.#!/usr/bin/perl -w use constant VERSION => '1.03'; use strict; use Net::POP3; use Mail::Header; use Term::ReadPassword; use Getopt::Long; use lib "."; use Config::rc; my $filename = "~/.mcheckrc"; my $rcfile = new Config::rc( $filename ) or die $Config::rc::Error, "\ +n"; my $host = $rcfile->parm( "host" ) or die "Mail host not specified in +$filename\n"; my $user = $rcfile->parm( "user" ) or die "User name not specified in +$filename\n"; my $readno = 0; GetOptions( "r=i", \$readno ); my $password = read_password( "Password: " ) || exit 0; my $pop = Net::POP3->new( $host, Timeout=>30 ) or die "Can't connect t +o $host: $!\n"; my $messages = $pop->login( $user, $password ) or die "Can't log in: " +, $pop->message, "\n"; my $last = $pop->last; $messages += 0; # In case it's "OEO" (zero but true) print "mcheck v", VERSION, ": Inbox has $messages messages (", $messag +es-$last," new)\n"; if ( ($readno > 0) && ($readno <= $messages) ) { my $lines = $pop->get($readno); print @$lines, "\n"; } else { for my $msgnum (reverse(1..$messages)) { my $header = $pop->top( $msgnum ); my $parsedhead = Mail::Header->new($header); chomp( my $subject = $parsedhead->get('Subject')); chomp( my $from = $parsedhead->get('From')); $from = clean_from($from); printf "%4d %-25s %-50s\n", $msgnum, $from, $subject; } # for } # else $pop->quit; sub clean_from { local $_ = shift; /^"([^\"]+)" <\S+>/ && return $1; /^([^<>]+) <\S+>/ && return $1; /^\S+ \(([^\)]+)\)/ && return $1; return $_; }
xoxo,
Andy
%_=split/;/,".;;n;u;e;ot;t;her;c; ". # Andy Lester
'Perl ;@; a;a;j;m;er;y;t;p;n;d;s;o;'. # http://petdance.com
"hack";print map delete$_{$_},split//,q< andy@petdance.com >
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Mail check?
by odie (Sexton) on May 24, 2001 at 00:18 UTC | |
by petdance (Parson) on May 24, 2001 at 01:11 UTC |