Le Tue, 11 Jul 2006 00:45:15 +0200
Laurent Besson a écrit :

> Le lundi 10 Juillet 2006 17:01, Nicolas Roudninski a écrit :
> > Il manquait les premières lignes :
> > use strict;
> > use warnings;
> > use Mail::POP3Client;
> 
> Ah ok !
> 
> Donc peut-on l'utiliser à son compte ?
Le script perl ? bien sûr !
Je le redonne entièrement cette fois-ci (et sans le mot de passe ;-) :
Cette version demande le mot de passe au lancement.


#!/usr/bin/perl -w
# -*-coding: utf-8 -*
#===============================================================================
#
#         FILE:  message.pl
#
#        USAGE:  ./message.pl 
#
#  DESCRIPTION:  Recupere l'auteur et le sujet d'un message
#
#      OPTIONS:  ---
# REQUIREMENTS:  zenity, Mail::POP3Client
#         BUGS:  
#        NOTES:  
#       AUTHOR:   (), <>
#      COMPANY:  
#      VERSION:  1.0
#      CREATED:  08.07.2006 15:18:12 CEST
#     REVISION:  ---
#===============================================================================

use strict;
use warnings;
use Mail::POP3Client;

#---------------------------------------------------------------------------
#  Variables globales
#---------------------------------------------------------------------------
my $xdlg = "/usr/bin/zenity";
my $pop;
my $i;
my $nom;
my @amis;
my $amis_data;
my $email;
#chomp(my $user = `whoami`);
my $user = "nicolas";
chomp(my $home_dir = "/home/$user");
my $passwd;
my $popuser = "popuser";        # a modifier
my $pophost = "pop.mail.fr"; # a modifier

# ne sert à rien pour l'instant !
sub popconfig {
        my %config = (
                popuser => $popuser,
                poppass => $passwd,
                pophost => $pophost,
        );
        open POPCONFIG, "$home_dir/.verifmail.conf"
                or die "Fichier introuvable !\n";
        while (<POPCONFIG>) {
                chomp;
        
        }

}

sub connection {
        print "Connection au serveur...\n";
        $pop = new Mail::POP3Client(    USER
=>      $popuser, PASSWORD      =>      $passwd,
                                        HOST            =>
$pophost ); }   # ----------  end of subroutine connection
----------

sub read_data {
        open DATAFILE, "$home_dir/amis.dat"
                or die "Fichier introuvable !";
        while (<DATAFILE>) {
                chomp;
                push @amis, $_."\n";
        }
        for ($i = 1; $i <= $pop->Count(); $i++) {
                foreach my $amis (@amis) {
                        my @amis_data = split / *: */, $amis;
                        $email = $amis_data[1];
                        chomp($email);
                        $nom = $amis_data[0];
                        &compare;
                }
        }
        close DATAFILE;
        return ;
}       # ----------  end of subroutine read_data  ----------

sub compare {
        foreach ( $pop->Head( $i ) ) {
                if (/From:.*$email/) {
                        chomp;
                        print "Un message de $nom [$email]\n";
                        my $adresse = $_;
                        system"$xdlg --info --text 'Un message de
$nom'"; }
        }
        return ;
}       # ----------  end of subroutine compare  ----------

sub date_heure {
        my $debut = time();
        my $date = scalar localtime($debut);
        my @chaine = split / /, $date;
        my $chaine;
        my $heure = $chaine[3];
        print "Heure : $heure\n";
}

#---------------------------------------------------------------------------
#  Programme principal
#---------------------------------------------------------------------------
system "stty -echo";
print "entrez un mot de passe de connexion : ";
chomp($passwd = <STDIN> );
print "\n";
system "stty echo";
while (1) {
        my $debut = time();
        date_heure;
        connection;
        read_data;
        print "Deconection du serveur...\n";
        $pop->Close();
        print "Ok, sleep 600.\n\n";
        sleep 600;
}


-- 
Nicolas Roudninski
[EMAIL PROTECTED]
----------------------
Toute ressemblance avec des fautes d'orthographe, de grammaire
ou de conjugaison existantes ou ayant existé serait entièrement
fortuite et indépendante de la volonté de l'auteur.


-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à