| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Jue 08 Jul, 2010 1:52 pm Asunto: |
|
|
| Schweiko escribió: | | alguien posee el codigo fuente del programa smtp_powersock_bcb4 |
Lo tienes un poco más arriba en este mismo hilo, pero lo vuelvo a copiar aquí:
http://www.telefonica.net/web/ljfg/temp/smtp_powersock_bcb4.zip
Aunque viendo tu pregunta en otro hilo entiendo que necesitas que soporte SSL, y el paquete de componentes al que pertenece TPowerSock además de obsoleto no soporta SSL. |
|
| Volver arriba |
|
 |
yao_13 Master


Registrado: 29 Jul 2003Mensajes: 226
|
Publicado: Mie 21 Jul, 2010 5:32 pm Asunto: |
|
|
Hola _leo,
use tu ejemplo, pero al querer enviar un mensaje de prueba me manda el error: "Error connecting with SSL" ; ya desactivé el Firewall de windows y el antivirus y aún me sale el mismo error.
Alguna idea?
Saludos. _________________ Sin pena, ni gloria |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mie 21 Jul, 2010 9:47 pm Asunto: |
|
|
Que ejemplo ? el de Powersock ? si es así, Powersock no soporta SSL, para eso tendrás que usar Indy por ejemplo.
Si es el ejemplo que esta más arriba de Indy, ten en cuenta que es para Indy9 y hay que descargar las dlls de SSL, etc..
¿Que versión de C++Builder utilizas? |
|
| Volver arriba |
|
 |
yao_13 Master


Registrado: 29 Jul 2003Mensajes: 226
|
Publicado: Mie 21 Jul, 2010 10:15 pm Asunto: |
|
|
es para el envío de correo con Indy, uso BCB6 y ya descargué las dll's.
ya pegué las 2 dll's (libeay32.dll y ssleay32.dll) en la carpeta del proyecto.
Al momento de ejecutar el código , es cuando marca ese error:
en en la linea : | Código: | IdSMTP1->Authenticate(); |
_________________ Sin pena, ni gloria |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Jue 22 Jul, 2010 12:37 am Asunto: |
|
|
He probado de nuevo el ejemplo y parece que GMail (supongo que estas probado con esto) ha debido de cambiar alguna cosa, ya que en el tiempo que se hizo ese ejemplo funcionaba, actualmente con Indy9 necesitas hacer un par de cambios.
Debes usar el puerto 25 o 587 (en vez del 486), por si acaso hayas cambiado el puerto.. Y el cambio más importante es que en tiempo de diseño pongas la propiedad "Method" del "TIdSSLIOHandlerSocket" a "sslvTLSv1" (está dentro de SSLOptions).
En Indy10 que es la que traen las ultimas versiones de C++Builder es un poco mas sencillo.. |
|
| Volver arriba |
|
 |
yao_13 Master


Registrado: 29 Jul 2003Mensajes: 226
|
Publicado: Jue 22 Jul, 2010 3:02 pm Asunto: |
|
|
Que tal _leo,
muchas gracias por las respuestas, en efecto, solo era cambiarle el valor al parámetro "Method" . Muchas Gracias. _________________ Sin pena, ni gloria |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Mie 06 Nov, 2013 1:43 pm Asunto: |
|
|
He probado esto bajo windows7 64 bits y c++ builder xe5:
| Código: |
IdMessage1->Subject = "Hola";
IdMessage1->Body->Text = "Cuerpo del correo";
IdMessage1->From->Address = "miCorreo@gmail.com";
IdMessage1->Recipients->Add();
IdMessage1->Recipients->Items[0]->Address = "destino@dominio.com";
IdSMTP1->Username = "usuario@gmail.com";
IdSMTP1->Password = "miClave";
IdSMTP1->Host = "smtp.gmail.com";
IdSSLIOHandlerSocketOpenSSL1->PassThrough = true;
IdSMTP1->IOHandler = IdSSLIOHandlerSocketOpenSSL1;
IdSMTP1->AuthType= satDefault;
IdSMTP1->Connect();
IdSMTP1->SendCmd("STARTTLS");
IdSSLIOHandlerSocketOpenSSL1->PassThrough = false;
IdSMTP1->Authenticate();
IdSMTP1->Send(IdMessage1);
IdSMTP1->Disconnect();
ShowMessage("Mensaje enviado");
|
Pero me lanza un mensaje de autentificación requerida y no sé cómo solucionarlo.  _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mar 24 Feb, 2015 11:49 am Asunto: |
|
|
Aunque este tema ya tiene tiempo, por si acaso alguno sigue dándole vueltas os explico como he podido solucionarlo con Builder 6 y Windows 7 Professional y el servidor de correo que usamos actualmente en la Asociación de Internautas; de acuerdo con nuestro proveedor el protocolo que usamos es TLSv1.
| Código: | IdMessage1->From->Address = "usuario@misrevidor.com"; //Remitente
IdMessage1->Subject = "Prueba de envío";
IdMessage1->Body->SetText("Esto es una prueba.");
IdMessage1->Recipients->Add();
IdMessage1->Recipients->EMailAddresses = "zzz@xxx.xxx"; //Destinatario
IdSMTP1->Host = "smtp.xxx.xxx"; //Servidor saliente
IdSMTP1->Username = "xxxxxx"; //Usuario
IdSMTP1->Password = "zzzzzz"; //Clave
IdSMTP1->Port = 465;
IdSMTP1->AuthenticationType = atLogin;
IdSMTP1->IOHandler = IdSSLIOHandlerSocket1;
IdSSLIOHandlerSocket1->SSLOptions->Method = sslvTLSv1;
IdSSLIOHandlerSocket1->SSLOptions->Mode = sslmClient;
try
{
IdSMTP1->Connect();
try
{
IdSMTP1->Send(IdMessage1);
}
catch(...)
{
ShowMessage("Se produjo un fallo durante el envío del mensaje");
}
}
__finally
{
ShowMessage("El mensaje se envió correctamente");
}
if (IdSMTP1->Connected())
IdSMTP1->Disconnect(); |
Con este código he podido enviar a través de nuestro servidor. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
|