• Publicidad

Problemas con Pop3Client

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Problemas con Pop3Client

Notapor macaruchi » 2011-01-04 14:19 @638

¡Hola!

Estoy tratando de hacer un script el cual me lea mi cuenta de correo, baje mis correos y aparte los adjuntos. Estoy usando POP3client pero cuando ejecuto siempre me dice que -1. Nunca cambia. Consulto la cuenta por la web y veo que tengo muchos mensajes.

La cuenta es de un hosting de renta POP3

El código que estoy usando es este:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. use Mail::POP3Client;
  4.  
  5.   $pop = new Mail::POP3Client( USER     => "user",
  6.                                PASSWORD => "123456",
  7.                                HOST     => "mail.myserver.com" ) || die "Error";
  8.  
  9.     print "Messages:".$pop->Count()."\n";
  10.     exit;
  11.  
  12.   for ($i = 1; $i <= $pop->Count(); $i++) {
  13.     foreach ( $pop->HeadAndBody( $i ) ) {
  14.       #/^(From|Subject):\s+/i and print $_, "\n";
  15.     /^From:\s+/i and @from = split(/:/);
  16.     /^Subject:\s+/i and @subject = split(/:/);
  17.     /^Content-Disposition: attachment;\s+/i and @filename = split(/=/);
  18.     }
  19.     print "From: $from[1]\n";
  20.     print "Subject: $subject[1]\n";
  21.     print "Attachement: $filename[1]\n";
  22.     print ;
  23.     print "\n*************************************************\n";
  24.   }
  25. $pop->close;
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
macaruchi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2006-09-08 14:22 @640

Publicidad

Re: Problemas con Pop3Client

Notapor explorer » 2011-01-04 14:29 @645

Según la documentación de este módulo (algo viejo, por cierto), el -1 indica un fallo de comunicación. Yo lo que haría sería quitar la parte " || die;" ya que no sirve para nada. Y segundo, pondría la opción DEBUG => 1 para saber qué es lo que está pasando.
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

Re: Problemas con Pop3Client

Notapor macaruchi » 2011-01-04 16:00 @708

Puse DEBUG en 4 y lo que me da la traza es lo siguiente:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
equijada@utesa:~$ ./correo
POP3 <- +OK Hello there.
 at ./correo line 28
POP3 -> CAPA
 at ./correo line 28
POP3 <- +OK Here's what I can do:
 at ./correo line 28
POP3 <- STLS
 at ./correo line 28
POP3 <- TOP
 at ./correo line 28
POP3 <- USER
 at ./correo line 28
POP3 <- LOGIN-DELAY 10
 at ./correo line 28
POP3 <- PIPELINING
 at ./correo line 28
POP3 <- UIDL
 at ./correo line 28
POP3 <- IMPLEMENTATION Courier Mail Server
 at ./correo line 28
POP3 <- .
 at ./correo line 28
POP3 -> USER data
 at ./correo line 28
POP3 <- +OK Password required.
 at ./correo line 28
POP3 -> PASS 123456
 at ./correo line 28
POP3 <- -ERR Login failed.
 at ./correo line 28
Messages:-1
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Obviamente, me dice que el pass es incorrecto pero no es así ya que lo puedo ver por otra consola usando getmail y puedo bajar el correo.

Existe otro módulo que pueda probar. Probé el Net::Pop3 pero al hacer login() no devuelve nada.
macaruchi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2006-09-08 14:22 @640

Re: Problemas con Pop3Client

Notapor explorer » 2011-01-04 20:53 @912

Quizás el problema esté en el modo de la autenticación. Con cualquiera de los dos módulos puedes indicar si es MD5, CRAM, en claro, etc.
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

Re: Problemas con Pop3Client

Notapor macaruchi » 2011-01-06 15:37 @692

¿Cómo le indico uno de esos métodos que dices? He visto la ayuda y no dice nada sobre el método de autenticación. Definitivamente creo que ese es el problema pero no hay forma humana posible de que se conecte el maldito al servidor.
¿Existe alguna forma o comando de determinar cómo es la autenticación del server?

Gracias...
macaruchi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2006-09-08 14:22 @640

Re: Problemas con Pop3Client

Notapor explorer » 2011-01-06 16:08 @714

Es el atributo AUTH_MODE. Los valores que puede adoptar son: 'BEST', 'PASS', 'APOP' y 'CRAM-MD5'. Por defecto, el valor que se usa es el de 'BEST', que intentará usar primero 'APOP' en caso de que el servidor indique que soporta esa autenticación. Si no, lo intentará con 'CRAM-MD5', y si no, lo intentará con 'PASS'.

En el módulo Net::POP3 se llama auth() el método que se encarga de eso, para la autenticación SASL, y el método apop() para la MD5.

En el listado de capacidades que el servidor te ha mandado antes, aparece el código STLS, que indica que ese servidor tiene soporte del protocolo STARTTLS. Pero la autenticación en claro siempre está presente.

Prueba AUTH_MODE el valor 'PASS', y prueba a ver...

De todas maneras, yo me fiaría más de lo que me diga el administrador de correo. ¿No tienes indicado en ningún sitio qué configuración necesitas?

O, de otra manera, ¿has configurado algún cliente de correo con esa cuenta de correo? ¿qué opciones de autenticación/conexión has usado?

Por otra parte, hay más módulos para POP3, como por ejemplo Email::Folder::POP3.
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

Re: Problemas con Pop3Client

Notapor macaruchi » 2011-01-06 17:25 @767

He probado todos los métodos excepto el de CRAM-MD5 y nada. Configuré la cuenta con Thunderbird y entra bien y dice que tiene TLS por eso le puse USESSL. El otro paquete que me diste lo estoy instalando pero lo que necesito es poder descargar los adjuntos para procesarlo, esa es la idea.
macaruchi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2006-09-08 14:22 @640

Re: Problemas con Pop3Client

Notapor explorer » 2011-01-07 06:04 @294

A ver, a ver...

Una cosa es TLS, que es el sucesor de SSL, que se refiere a si la conexión va codificada o no.

Y otra cosa es el STARTTLS, que es un método de autenticación sucesor del envío de la contraseña en claro.

Si pones la opción USESSL, cambiará el puesto de conexión, de 110 a 995, y cargará el módulo IO::Socket::SSL para realizar la conexión. Pero queda por resolver el tema de la autenticación.

Hay que revisar también los posibles errores que tenga el módulo. Por ejemplo, veo que hay un problema de autenticación con el servidor Dovecot.

No sé, yo probaría con otro módulo. El Mail::Box::POP3s (fíjate en la 's' final) su última versión es de hace justo un mes.
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

Re: Problemas con Pop3Client

Notapor macaruchi » 2011-01-07 13:49 @617

Ok, bajarme ese; voy para probarlo. Sigo en la pelea, si no, me tocará hacerlo a mano. Fíjate que con Fetchmail no pude descargar los correos pero con getmail sí puedo. Si se me pone difícil lo que estoy pensando es hacerlo yo mismo por la fuerza leyendo cada uno de los correos bajados, esa es mi ultima opción pero no tengo de otra.
macaruchi
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2006-09-08 14:22 @640

Re: Problemas con Pop3Client

Notapor explorer » 2011-01-07 16:44 @739

¿Qué opciones le das a getmail para que funcione? Me refiero en la línea de comando, por si le das alguna en especial.
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

Siguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 10 invitados

cron