Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Obtener correo desde Gmail con Indy v9.0.17

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Tips & Tricks
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Obtener correo desde Gmail con Indy v9.0.17 Responder citando

Probado con BCB6 Enterprise bajo WinXP profesional SP2.
1º- Desinstalar la versión Indy que viene por defecto con BCB6. Para ello introducimos el CD de instalación, elegimos la opción de modificar la instalación, desplegamos el primer apartado de la lista llamado Program Files, buscamos "Indy" pulsamos con el ratón y seleccionamos "Do not Install", Esto nos deja nuestro BCB sin los componentes Indy que trae por defecto.

2º- Descargar la versión actualizada de los Indy que vamos a utilizar:
http://www.indyproject.org/downloads/Indy_9_00_17_src.zip

3º- Descargar librerias para conexiones seguras:
http://indy.fulgan.com/SSL/indy_OpenSSL096m.zip

4º- Instala los nuevo componentes Indy que has descargado en el paso 2. En el zip descargado hay un archivo de texto llamado ManualInstall.txt que explica como hacerlo.

5º- Creamos un nuevo proyecto con el BCB y lo guardamos. en el mismo directorio donde hemos guardado el proyecto nos aseguramos de que estén descomprimidos los archivos libeay32.dll y ssleay32.dll que son los que hemos descargado el paso 3 (librerias para conexiones seguras).

6º- Sobre el Form1 de nuestro proyecto añadimos los siguientes componentes:
- TIdPOP3 de la pestaña Indy clients, nombrado como IdPOP31.
- TIdMessage de la pestaña Indy Misc, nombrado como IdMessage1.
- TIdSSLIOHandlerSocket de la pestaña Indy I/O handler, nombrado como IdSSLIOHandlerSocket1.
- TButton nombrado como Button1.
- TMemo nombrado como Memo1.

7º- En las propiedades del IdSSLIOHandlerSocket1 desplegamos SSLOptions y en Mode elegimos sslmClient.

8º- En la propiedad IOHandler del IdPOP31 le especificamos el IdSSLIOHandlerSocket1.

9º- Finalmente en el OnClick del Button1:
Código:

if (IdPOP31->Connected()){
    IdPOP31->Disconnect();
  }
  if (!IdPOP31->Connected()){
    IdPOP31->Host = "pop.gmail.com";//no cambiar, es siempre así
    IdPOP31->Username = "minombre@gmail.com";//cambiar por tus datos
    IdPOP31->Password = "mipassword";//cambiar por tus datos
    IdPOP31->Port = 995;//no cambiar, es siempre así
    Memo1->Lines->Clear();
    IdPOP31->Connect(0);   
    int num_mensajes = IdPOP31->CheckMessages();
    if (num_mensajes>0){
      for (int i=1;i<=num_mensajes;i++){
        IdMessage1->Clear();
        IdPOP31->RetrieveHeader(i,IdMessage1);
        Memo1->Lines->Add("Mensaje Nº "+IntToStr(i));
        Memo1->Lines->Add("Procedente de: "+IdMessage1->From->Text);
        Memo1->Lines->Add("Asunto: "+IdMessage1->Subject);
        Memo1->Lines->Add("************************");
      }
    }
    else {
      ShowMessage("No hay mensajes en el servidor.");
    }
    IdPOP31->Disconnect();
  }


De momento es todo lo que he hecho. El código anterior únicamente recupera las cabeceras de los mensajes que estan en el servidor, así la recuperación y listado de mensajes es más rápida, recuperar los mensajes enteros supongo que será como siempre, no tendremos ningún problema.
Si alguien tienen problemas con este ejemplo o tiene dudas estaré encantado de enviarle algún proyecto de ejemplo o aclarar en lo que pueda. Y no olvideis este enlace que a mi me han servido de mucho:
https://cppbuilder.es/viewtopic.php?t=11411&highlight=indy
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Muy bien.... Responder citando

Me pareces super bien que hayas colgado este tema ya que es muy bueno para las personas que no tienen experiencia en este o para los que depronto como yo estabamos desactualizados en el tema y al tratar de meternos de nuevo nos estrellamos. Suerte......
_________________
Entre más sé, sé que nada sé
----------------------------------
Miguel Angel Torres Arredondo
Siegen - Deutschland
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

buenas tardes por aqui, no doy con listar los mensajes de gmail, no se si es gmail que cambio las politicas de seguridad por que me da el siguiente mensaje y no hace mas nada Connection Closed Gracefully
help!
_________________
><(((((º> From °l||l° §ÂN ÅNЮ€$ i§Lã$ °l||l°
_____________________
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.