PDA

View Full Version : Perl e imap .. problemi


theking0
12-11-2012, 19:14
Salve, sto cercando di ricavare le nuove email non lette da gmail con perl, il codice è questo:


#!/usr/bin/perl
use strict;
use Mail::IMAPClient;
use IO::Socket::SSL;

my $username = 'myemail@gmail.com';
my $password = 'mypasswd';

my $socket = IO::Socket::SSL->new(
PeerAddr => 'gmail-imap.l.google.com',
PeerPort => 993
) or die "socket(): $@";

my $client = Mail::IMAPClient->new(
Socket => $socket,
User => $username,
Password => $password,
Uid => 1,
) or die "new(): $@";

if ($client->IsAuthenticated()) {
my $msgct;

$client->select("INBOX");
$msgct = $client->unseen_count||'0';
print "Email unread: $msgct\n";

my @unread = $client->unseen or warn "Could not find unseen msgs: $@\n";

foreach (@unread) {
print "$@\n";
print $_ . " - " . $client->fetch($_) . "\n";
}
}
$client->logout();


ma come output mi restituisce:


king@homepc:~$ ./script.pl
Email unread: 3
12730 -
5 BAD Could not parse command
12740 -
6 BAD Could not parse command
12746 -
7 BAD Could not parse command
king@homepc:~$ ./script.pl


il pratica ci sono dei problemi con il fetch, ma non riesco a capire perché.
Qualcuno sa darmi un consiglio ?

marco.r
12-11-2012, 22:08
Prova ad abilitare il flag di debug, cosi' si dovrebbero vedere i comandi scambiati col server