Ver Mensaje Individual
  #1  
Antiguo 25-11-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 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