Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Descargar Un Archivo Adjunto Desde Un Email.[SOLUCIONADO]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Descargar Un Archivo Adjunto Desde Un Email.[SOLUCIONADO] 
 
Hola a todos.
Hace un tiempo estoy trasteando el programa de Shordi AvisaMail que esta muy interesante por cierto.
El caso es que tengo entre manos la idea de hacer un programa que haga lo mismo pero cuando detecte que hay un correo nuevo haga lo siguiente:
  1. Verificar quien lo envía
  2. Verificar si existe adjunto
  3. En caso que el que lo envía este en la lista de admitidos y exista adjunto > descargar el adjunto.

Ademas de manener una pequeña base de datos del correo con lo básico From, To, Title, Text....
Bueno estoy con el punto 3, el adjunto
Si alguno tiene información al respecto por favor comente.

Saludos.
 



 
última edición por tincho el Jueves, 12 Abril 2018, 22:49; editado 1 vez 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Descargar Un Archivo Adjunto Desde Un Email. 
 
Bueno... no es tan simple como parece, ni tan complicado que no se pueda hacer.
Lo primero que tienes es que entender cómo es el formato de una estructura Mime, que es el formato interno de los correos. Básicamente se compone de unas cabeceras y varias partes o "estructuras mime". Siempre habrá, por lo menos una estructura raíz, que es el contenido de los mensajes sin más.
Si el mensaje lleva los dos modos texto y html, habrá dos estructuras, si lleva un adjunto, tres, si dos adjuntos 4, etc.

Para saber si el mensaje lleva o no adjuntos, dispones de todo el soporte para mime que da gambas a través del componente gb.net.pop3 y su control Pop3Client.
En él puedes, al abrirlo, acceder a los mensajes como instancias de la clase pop3_client_messages que tienen la estructura mime en su colección part, que es una colección de las esctructuras mime del mensaje. Cada estructura lleva la información que estás buscando.
Sólo tienes que recorrer dicha colección buscando el tema de los adjuntos.
Te adjunto una imagen de las propiedades que expone la estructura.
 captura_de_pantalla_de_2018_04_12_21_11_59
Como ves dispones de la propiedad Filename, entre otras cosas para detectar aquello que buscas.

Ya nos cuentas.

Suerte.
 




===================
No podemos regresar
 
última edición por shordi el Jueves, 12 Abril 2018, 20:14; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Descargar Un Archivo Adjunto Desde Un Email. 
 
shordi escribió: [Ver mensaje]
Bueno... no es tan simple como parece, ni tan complicado que no se pueda hacer...

Gracias Shordi, ya estoy trasteando.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Descargar Un Archivo Adjunto Desde Un Email. 
 
Bueno estoy intentando seguir la pista al archivo adjunto pero no hay caso.
En testMail() se define pc1 = New Pop3Client luego:
Si sigo el camino de _pop3_client_message obtengo lo siguiente:
 pantallazo_2018_04_12_22_38_39
Pero no logro encontrar el adjunto o su nombre.
¿Alguna idea?
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Descargar Un Archivo Adjunto Desde Un Email. 
 
Bueno ya esta !!
La solución pasa por:
siendo pc1 = New Pop3Client
Recorriendo todos los mensajes de la conexion pop3
For n = pc1.count - 1 To 0 Step -1
    strText = pc1[n].Text
    hMessage = New MimeMessage(strText)
    GuardaAdjunto(hMessage.Part)
Next
 

Subrutina que guarda los adjuntos
Public Sub GuardaAdjunto(hPart As MimePart)
  Dim int As Integer
  For int = 0 To hPart.Count - 1
    Print hPart[int].ContentType
    Select hPart[int].ContentType
      Case "text/markdown"
        File.Save(User.Home &/ hPart[int].FileName, hPart[int].Data)
        Wait 0.001
    End Select
  Next
End


Nota: me fue de ayuda, ademas de AvisaMail de Shordi, el post de Vuott en el foro italiano
http://www.gambas-it.org/smf/index....g31395#msg31395
Saludos.
 



 
última edición por tincho el Jueves, 12 Abril 2018, 22:53; editado 2 veces 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Descargar Un Archivo Adjunto Desde Un Email.[SOLUCIONADO] 
 
Lo que te decía:
Citar:
...ue tienen la estructura mime en su colección part, que es una colección de las esctructuras mime del mensaje. Cada estructura lleva la información que estás buscando.
Sólo tienes que recorrer dicha colección buscando el tema de los adjuntos.


Lo que yo no sabía es que alguien lo había hecho ya, más o menos.

Una vez que lo entiendes no es complejo.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Descargar Un Archivo Adjunto Desde Un Email.[SOLUCIONADO] 
 
shordi escribió: [Ver mensaje]
Lo que yo no sabía es que alguien lo había hecho ya, más o menos.


...ehmmmm.... magister, las nubes de Himalaya te han un po' ofuscado la mente.....  
 



 
última edición por vuott el Viernes, 13 Abril 2018, 13:43; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Descargar Un Archivo Adjunto Desde Un Email.[SOLUCIONADO] 
 
vuott escribió: [Ver mensaje]
shordi escribió: [Ver mensaje]
Lo que yo no sabía es que alguien lo había hecho ya, más o menos.


...ehmmmm.... magister, las nubes de Himalaya te han un po' ofuscado la mente.....  

Es que le echaba whisky al té...
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Descargar Vídeos Desde Antena 3.com Invitado Aplicaciones/Fragmentos de Código 3 Jueves, 10 Noviembre 2011, 12:41 Ver último mensaje
pacbr
No hay nuevos mensajes Enviar Mail Con Adjunto/s Desde Gambas3 shordi Aplicaciones/Fragmentos de Código 22 Lunes, 28 Marzo 2016, 21:20 Ver último mensaje
shordi
No hay nuevos mensajes Enviando Email Desde Gambas shordi Aplicaciones/Fragmentos de Código 11 Sabado, 13 Enero 2018, 12:10 Ver último mensaje
shordi
No hay nuevos mensajes Imap Para Descargar Desde Office365 calcena General 5 Lunes, 22 Octobre 2018, 12:49 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron