 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Lun 26 Jun, 2006 9:39 pm Asunto: Obtener correo desde Gmail con Indy v9.0.17 |
|
|
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 |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Mar 27 Jun, 2006 1:01 am Asunto: Muy bien.... |
|
|
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 |
|
 |
likibuay Master


Registrado: 24 Abr 2006Mensajes: 190Ubicación: COLOMBIA
|
Publicado: Mie 02 May, 2018 11:49 pm Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|