Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Correo con Gmail seguridad tls (https://www.clubdelphi.com/foros/showthread.php?t=74745)

aams01 08-07-2011 02:58:35

Correo con Gmail seguridad tls
 
Hola ps asi de simple y complicado el problema e buscado pero solo e encontrado ayuda para Delphi y yo lo quiero en c++.
alguien q tenga un ejemplo o me guie para resolverlo Gracias de ante mano

_cero_ 08-07-2011 05:17:00

Resolver qué? Ejemplo de hacer qué? En cualquier caso te dejo un código para ENVIAR correos desde este servidor (gmail, claro), dime si esto es lo que querías. Nos vemos
Código:

    String Servidor = "smtp.gmail.com";
    int Puerto = 465;

    TIdSMTP* smtp = new TIdSMTP( NULL );
    TIdSSLIOHandlerSocketOpenSSL* ssl = new TIdSSLIOHandlerSocketOpenSSL( NULL );
    TIdMessage* men = new TIdMessage( NULL );

    try {
        //Configuracion de componentes
        ssl->DefaultPort = 0;
        ssl->Destination = Servidor + ":" + String( Puerto );
        ssl->Host = Servidor;
        ssl->MaxLineAction = maException;
        ssl->Port = Puerto;

        smtp->IOHandler = ssl;
        smtp->Host = Servidor;
        smtp->Port = Puerto;
        smtp->UseTLS = utUseImplicitTLS;
        smtp->ConnectTimeout = 15000;

        men->AttachmentEncoding = "UUE";
        men->ConvertPreamble = true;
        men->Encoding = meDefault;
        men->Clear();
        men->FromList->EMailAddresses = "MiCorreo@gmail.com";
        men->Recipients->EMailAddresses = "CorreoAEnviar@gmail.com";
        men->Subject = "Asunto";
        men->Body->Text = "Mi mensaje, lalalala";

        smtp->Username = "MiUsuario";
        smtp->Password = "MiPas";

        //Enviando
        smtp->Connect();
        smtp->Send( men );
        smtp->Disconnect();
    }
    __finally {
        delete smtp;
        delete ssl;
        delete men;
    }

Pd. Hay que ser más claros en las preguntas.

aams01 08-07-2011 06:20:30

Hola gracias por responder solo para decirte que copie tu codigo y me sale error en la siguiente linea
Código:

    TIdSSLIOHandlerSocketOpenSSL* ssl = new TIdSSLIOHandlerSocketOpenSSL( NULL );
el error es el siguiente. undefined simbol TIdSSLIOHandlerSocketOpenSSL

_cero_ 08-07-2011 07:04:50

Lo que pasa es que te falto agregar algunas cabeceras (no lo mencione porque creí que ya las tenías al haber agregado los componentes), no te puedo decir con certeza cuales son así que te envió todas (así a lo bruto, perdón), puedes probar quitando y poniendo una por una si no quieres poner las todas, en fin ahí van:

Código:

#include "IdBaseComponent.hpp"
#include "IdComponent.hpp"
#include "IdExplicitTLSClientServerBase.hpp"
#include "IdIOHandler.hpp"
#include "IdIOHandlerSocket.hpp"
#include "IdIOHandlerStack.hpp"
#include "IdMessage.hpp"
#include "IdMessageClient.hpp"
#include "IdSMTP.hpp"
#include "IdSMTPBase.hpp"
#include "IdSSL.hpp"
#include "IdSSLOpenSSL.hpp"
#include "IdTCPClient.hpp"
#include "IdTCPConnection.hpp"
#include "IdAttachmentFile.hpp"
#include "IdAttachmentMemory.hpp"

Pd. Solo por si acaso estas van en él .h del formulario, componente o clase que trabaje con los componentes del código, también pueden ir hasta arriba del .cpp, pero no sé qué tan elegante sea esto último (mejor el .h). nos vemos


La franja horaria es GMT +2. Ahora son las 12:09:46.

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