今天花了1天时间终于搞明白了在使用Indy时如何解决Could not load SSL Library。
测试平台:DelphiXE7 + Indy 10.6.0.5169 + Win7 64bit
步骤:
1. SSL下载版本:openssl-1.0.1j-i386-win32 可去http://yunpan.cn/cAWTYZ3VMHv36 提取码 3551进行下载
根据开发的应用平台选择相应的库文件,此处开发针对于32bit平台。
2.提取下载的SSL压缩包内的 libeay32.dll 和 ssleay32.dll 文件,复制到 Application 生成的文件夹根目录。
3.此处用TidSMTP控件写的一个邮件发送,使用SSL登录举例,做如下配置:
TIdSSLIOHandlerSocketOpenSSL:
SSL Options -> Method -> sslvSSLv3
SSL Options -> Mode -> sslmClient
TIdSMTP:
IOHandler -> TIdSSLIOHandlerSocketOpenSSL
UseTLS -> utUseImplicitTLS
Port -> 994
4.具体代码
<span style="font-size:18px;"> IdSMTP1.Host := 'smtphz.qiye.163.com'; //此处用网易的邮件服务器
IdSMTP1.Username := 'admin@admin.xx'; //邮件服务器登录信息
IdSMTP1.Password := '******';
IdSMTP1.Port := 994;
IdSMTP1.Connect;
Msg_1.From.Text :='<span style="font-family: Arial, Helvetica, sans-serif;">admin@admin.xx</span>'; //发件人地址
Msg_1.CharSet := 'gb2312'; //字符设置
Msg_1.Recipients.EMailAddresses := RecEmails; //RecEmails 接收人的邮件地址变量
Msg_1.Date := Date;
Msg_1.Subject:= Title ;
Msg_1.Body.Text:= Content;
IdSMTP1.Authenticate; //邮件服务器登录登录
IdSMTP1.Send(Msg_1); //发送邮件
IdSMTP1.Disconnect(); //断开邮件服务器</span>
5. 到此成功发送邮件
英文资料谷歌查询(gg.9lot.cn)