【发布时间】:2014-03-29 19:24:25
【问题描述】:
这是我的配置:
IdSMTP1.Host := 'smtp.gmail.com';
IdSMTP1.Port := 587;
IdSMTP1.UseTLS := utUseExplicitTLS;
IdSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvTLSv1;
我从 here 下载了 OpenSSL,libeay32.dll 和 ssleay32.dll 都在我的应用程序的同一个文件夹中。
Indy 版本是:10.0.52
以下命令正在我的机器上运行:
telnet smtp.gmail.com 587
如何使用 Indy 在启用 TLS 的 SMTP 服务器(在我的情况下为 Gmail)中正确连接?
似乎IdSSLOpenSSLHeaders.Load 找不到以下程序的地址,其中包括:
@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);
这是WhichFailedToLoad返回的消息:
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
【问题讨论】:
标签: delphi ssl smtp indy delphi-6