title: Indy 10 - IdSMTP.Connect raising "Could not load SSL library."
body: <p>Here is my configuration:</p>
  
  <pre><code>IdSMTP1.Host := 'smtp.gmail.com';
  IdSMTP1.Port := 587;
  IdSMTP1.UseTLS := utUseExplicitTLS;
  IdSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvTLSv1;
  </code></pre>
  
  <p>I've downloaded the OpenSSL from <a href="http://indy.fulgan.com/SSL/">here</a>, both <code>libeay32.dll</code> and <code>ssleay32.dll</code> are in the same folder of my application.</p>
  
  <p>The Indy version is: 10.0.52</p>
  
  <p>The following command is working on my machine:</p>
  
  <pre><code>telnet smtp.gmail.com 587
  </code></pre>
  
  <p>How to properly connect in a TLS enable SMTP server, in my case Gmail, using Indy?</p>
  
  <p>It seems like <code>IdSSLOpenSSLHeaders.Load</code> could not find the address to the following procedures, among others:</p>
  
  <pre><code>  @IdSslSessionGetId := LoadIndyFunction(fn_SSL_SESSION_get_id);
    @IdSslSessionGetIdCtx := LoadIndyFunction(fn_SSL_SESSION_get_id_ctx);
    @IdSslCtxGetVersion := LoadIndyFunction(fn_SSL_CTX_get_version);
    @IdSslCtxSetOptions := LoadIndyFunction(fn_SSL_CTX_set_options);
  
    @iddes_set_odd_parity := LoadFunctionCLib(fn_des_set_odd_parity);
    @iddes_set_key := LoadFunctionCLib(fn_des_set_key);
    @iddes_ecb_encrypt := LoadFunctionCLib(fn_des_ecb_encrypt);
  </code></pre>
  
  <p>This is the message returned from <code>WhichFailedToLoad</code>:</p>
  
  <pre><code> SSL_CTX_set_info_callback_indy 
   X509_STORE_CTX_get_app_data_indy 
   X509_get_notBefore_indy 
   X509_get_notAfter_indy 
   SSL_SESSION_get_id_indy 
   SSL_SESSION_get_id_ctx_indy 
   SSL_CTX_get_version_indy 
   SSL_CTX_set_options_indy 
   des_set_odd_parity 
   des_set_key des_ecb_encrypt
  </code></pre>