Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-11-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Enviar correos a través de Gmail

Buenos días. He estado buscando los hilos que hablan sobre este tema por el foro pero no consigo que me funcione el envío de correos.

Estoy usando C++ Builder 6 con los componentes Indy 10.6.2.0 y tengo copiadas las dos librerías libeay32.dll y ssleay32.dll en la carpeta del ejecutable. tengo puestos un TIdSMTP (Enviar), un TIdSSLIOHandlerSocketOpenSSL (SSLIOHandler) y un TIdMessage (Correo). En los dos primeros tengo hechas estas definiciones:
Código:
Correo->From->Address = <mi dirección>;
Correo->From->Name    = "De papel";

Enviar->Host     = "smtp.gmail.com";
Enviar->Password = <mi clave>;
Enviar->Port     = 465;
Enviar->Username = <mi dirección>;

SSLIOHandler->Port        = 465;
SSLIOHandler->Host        = "smtp.gmail.com";
SSLIOHandler->Destination = "smtp.gmail.com:" + IntToStr(SSLIOHandler->Port);
Y, además, en el TIdSSLIOHandlerSocketOpenSSL tengo puesto en SSLOptions Method = sslvSSLv2, aunque también he probado con sslvSSLv3. Para las definiciones me he guiado por los datos que facilita la definición de la cuenta en Thunderbird.

Cuando quiero lanzar un correo uso este código:
Código:
try
{
     fDatos->Enviar->Connect();
}
catch(...)
{
     fDatos->Enviar->Disconnect();
     MessageDlg("No está disponible la conexión a\r\n" + AnsiString(fDatos->Enviar->Host), mtError, TMsgDlgButtons() << mbCancel, 0);
     return;
}
No pongo más código porque el error me aparece aquí, cuando intento conectar. Me salta este error:

En otros casos que no uso Gmail me funciona bien el sistema pero en este caso concreto me tienen mosqueado dos cosas que he visto en la definición de la cuenta:
  • En seguridad de la conexión pone SSL/TLS
  • En método de identificación pone OAuth2
No sé si el erro puede tener que ver con estos parámetros pero es que no veo como introducirlos en los elementos TIdSMTP y TIdSSLIOHandlerSocketOpenSSL.
Responder Con Cita
  #2  
Antiguo 25-11-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
He seguido probando y poniendo en TIdSSLIOHandlerSocketOpenSSL SSLOptions->Mode = sslmUnassigned he probado jugando con los métodos sslvSSLv2 y sslvSSLv3.
Con sslvSSLv2 me salta este error:


y con sslvSSLv3 este otro:

pero no consigno que se conecte al servidor.
Responder Con Cita
  #3  
Antiguo 25-11-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
POr lo que recuerdo los protocolos deben ir con las últimas versiones de SSL.
¿Has modificado la configuración de la cuenta en GMail?
Por lo que recuerdo hay un parámetro de conexión que permite enviar correos desde aplicaciones de terceros. Si no se modifica no podrás enviar. Al menos antes era así.

Al final de este hilo se habla del tema.
http://www.clubdelphi.com/foros/showthread.php?t=90053
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 25-11-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Sí, efectivamente hay un protocolo dentro de Gmail para autorizar el uso de aplicaciones externas pero ahí ya lo tengo activado. He hecho otra prueba poniendo en el método sslvTLSv1_2 y, de momento, al conectarse no da error. Tengo que comprobar que la enviar el mensaje también funciona bien.
Responder Con Cita
  #5  
Antiguo 25-11-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
POr lo que recuerdo los protocolos deben ir con las últimas versiones de SSL.
¿Has modificado la configuración de la cuenta en GMail?
Por lo que recuerdo hay un parámetro de conexión que permite enviar correos desde aplicaciones de terceros. Si no se modifica no podrás enviar. Al menos antes era así.

Al final de este hilo se habla del tema.
http://www.clubdelphi.com/foros/showthread.php?t=90053
Es cierto. Me sale este mesaje:
Cita:
Username and Password not accepted. Learn more at
https://support.google.com/mail/?p=BadCredentials w11sm5054026wmg.36 - gsmtp
Pensaba que lo tenía activado pero no y como para la verificación en dos pasos hace falta el móvil y me lo he dejado en casa probaré mañana.
Responder Con Cita
  #6  
Antiguo 26-11-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Efectivamente es simplemente conceder permisos para que programas externos puedan "trabajar" con Gmail; basta con acceder a
https://myaccount.google.com/lesssecureapps. No sé de dónde me saqué lo del móvil.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Enviar Correo a través de IdSmtp con Gmail desde Windows Server 2008!! Allien Internet 8 21-12-2012 04:19:36
Correos por GMail usando Indy 10 y también DXGetText dec Internet 2 22-03-2008 15:25:18
Como viajan los correos de Gmail D-MO La Taberna 2 30-08-2007 18:23:05
enviar correos con TNMSMTP a cuentas gratuitas (Hotmail, Gmail, etc.) agustibaldo Internet 5 17-07-2007 15:29:31
Descargar correos de Gmail D@byt Internet 1 07-12-2005 02:38:57


La franja horaria es GMT +2. Ahora son las 05:48:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi