• Publicidad

Descargar archivo adjunto en correo

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

Descargar archivo adjunto en correo

Notapor audax » 2015-12-02 16:12 @717

Estimados, un gusto en saludar a todos. Mi duda es la siguiente:

Necesito descargar unos archivos adjuntos (XML), que vienen en algunos correos. El tema es que si me pueden decir cómo hacer esto ya que he estado buscando y no he encontrado cómo.

Me puedo conectar al servidor y leer los correos con la librería Net::POP3, pero me falta un paso para realizar la descarga. Estaría muy agradecido si alguien me pudiera decir cómo puedo descargar estos archivos. Gracias.
audax
Perlero nuevo
Perlero nuevo
 
Mensajes: 56
Registrado: 2013-06-03 13:16 @594

Publicidad

Re: Descargar archivo adjunto en correo

Notapor explorer » 2015-12-02 17:03 @752

Por estos foros sí que hemos hablado de ese tema (recuperar correo con Net::POP3, y descargar adjuntos).

Lee a partir de este mensaje. O todo el hilo, si tienes fuerzas.

Es un comentario de hace seis años, así que ahora debería haber una solución más sencilla, en CPAN.
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: Descargar archivo adjunto en correo

Notapor audax » 2015-12-03 07:38 @360

Muchas gracias, explorer, me sirve muchísimo lo que me diste, estaba un poco perdido de cómo hacerlo. Gracias nuevamente, explorer.
audax
Perlero nuevo
Perlero nuevo
 
Mensajes: 56
Registrado: 2013-06-03 13:16 @594

Re: Descargar archivo adjunto en correo

Notapor audax » 2015-12-03 11:15 @510

Excelente, pude descargar los xml que necesito de los correos, utilizando la librería Email::MIME::Attachment::Stripper, funcionó de maravillas.

Ahora, sobre el mismo tema, yo necesito correr una vez al día este script para ir descargando los xml que llegan. El problema que tengo es que cada vez recorro toda la bandeja de correos descargando los mismos XML.

¿Hay una formar de que solo lea los correos "no leídos", y que al leerlo le cambio el status a leído para no volverlo a leer?

Gracias por todo.


Edito:
Me contesto a mi mismo: http://perlenespanol.com/foro/como-puedo-saber-si-un-mail-especifico-ha-sido-leido-t1833.html.

Lo que no me quedo claro era si al leer el correo con mi script, este cambiaría automáticamente de status o tendría que ocupar una función para hacer ese cambio.

Gracias.
audax
Perlero nuevo
Perlero nuevo
 
Mensajes: 56
Registrado: 2013-06-03 13:16 @594

Re: Descargar archivo adjunto en correo

Notapor explorer » 2015-12-04 03:34 @190

En algunos casos se soluciona simplemente mandando borrar el correo que hemos procesado.

En otros casos, es usar un módulo que acceda al servidor y solicite solo los nuevos correos, no todos.

Una vez hice un bucle que hacía un bucle por toda la bandeja de entrada, y borraba cada mensaje en cuanto terminaba de leerlo. Lo procesaba y pasaba al siguiente. Así dejaba la bandeja limpia. Pero, claro, se trataba de una cuenta de correo dedicada en exclusiva a nuestro proceso, por eso podíamos borrar todos los correos, pudiéramos procesarlos o no.

Pero si tu programa no tiene permiso para borrar los correos (lo hará otro), y no te funciona lo de pedir traer los correos marcados como nuevos, como el programa se ejecuta cada día, puedes usar ese hecho para saber qué correos debes procesar.
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 Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron