• Publicidad

Recuperar emails con Net::POP3

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Recuperar emails con Net::POP3

Notapor Xbai » 2008-02-23 06:54 @329

Hola foreros:

Tengo un problemilla con este módulo, soy incapaz de recuperar los correos de mi cuenta de Gmail. También he probado con Mail::Box::POP3 y con Mail::Webmail::Gmail y no consigo nada.

Tampoco puedo enviar mails con Net::SMTP, pero sí con el modulo Emails.

Los ejemplos que estoy utilizando los copio del libro "Perl Introducción al desarrollo Web" de S.Suehring, excepto el módulo que me funciona, el de Emails.

Os pongo el código para ver si me podéis ayudar, muchas gracias de antemano:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -w

use Net::POP3;
use strict;

my $usuario = "$usuario";
my $pass = "$pass";
my $pop3conn = Net::POP3->new('pop.gmail.com', Timeout=>60)
                                or die "NADA.\n";
#$pop3conn->auth($usuario,$pass);
if($pop3conn->login($usuario, $pass) > 0){
        my $nummsg = $pop3conn->list();
        foreach my $nummsg (keys %{$nummsg}){
        my $msg = $pop3conn->get($nummsg);
        print @$msg;
        $pop3conn->delete($nummsg);
        }
}
$pop3conn->quit();
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
Xbai
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2008-02-23 06:31 @313

Publicidad

Notapor explorer » 2008-02-23 17:30 @771

Bienvenido a los foros de Perl en Español, Xbai.

* ¿Has activado la opción de permitir acceso por POP en el menú de configuración de Gmail?
* En el new(), pon la opción Debug => 1, para saber qué es lo que pasa.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Xbai » 2008-02-24 09:19 @430

Gracias por responder explorer. Te cuento :
Gmail tiene el pop habilitado, leo el correo con Kontact.
La opcion Debug=>1 no me dice nada, el programa muere en el new() y no muestra más información.
Me resulta raro porque siempre recibo el GMail en el ordenador y además he utilizado varios modulos y nada.
Tengo abiertos los puertos 995 y 110, por si sirve de algo :D
Xbai
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2008-02-23 06:31 @313

Notapor explorer » 2008-02-24 10:28 @477

Veo que hay que activar una conexión SSL para entrar por el puerto 995 de pop.gmail.com.

Prueba a usar el módulo Net::POP3::SSLWrapper en lugar del Net::POP3.

En realidad, lo que hace el módulo Net::POP3::SSLWrapper es llamar al módulo IO::Socket::SSL, para ayudar en la comunicación SSL.

Aquí tienes otro ejemplo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Mail::POP3Client;
use IO::Socket::SSL;

my $socket = IO::Socket::SSL->new(
                PeerAddr => 'pop.gmail.com',
                PeerPort => 995,
                Proto    => 'tcp',
            )
            or die "No socket!: $!\n";
my $pop = Mail::POP3Client->new();
$pop->User(USERNAME);
$pop->Pass(PASSWORD);
$pop->Socket($socket);
$pop->Connect();

# me fijo cuantos hay
my $count = $pop->Count();

# si hay más de uno, los proceso
if ($count > 0){
    # por cada uno lo voy trayendo
    for ($i = 1; $i <= $count; $i++) {
        # me los va devolviendo línea por línea
        foreach ( $pop->HeadAndBody($i) ) {
            # acá va el procesamiento, por ejemplo
            print $_;
        }
    }
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

¡Por fin!

Notapor Xbai » 2008-02-24 16:50 @743

¡¡Gracias, explorer!!. ¡¡He "recuperado" mensajes de mi cuenta,por fin!! :P , con el código que has posteado. Ayuda mucho esta modificación, sacada de la ayuda de CPAN:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
# acá va el procesamiento, por ejemplo
    /^(From|Subject):\s+/i and print $_, "\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pero me gustaría hacerlo con POP3, creo que será algo de autenticación SSL, pero el SSLWrapper tampoco funciona :evil:
Xbai
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2008-02-23 06:31 @313

Notapor explorer » 2008-02-24 18:40 @819

No podrás recuperar correo de Gmail con solo POP3. Ya lo dice la ayuda de Gmail.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 21 invitados

cron