del*_*les 2 delphi ssl indy indy10
我使用 Indy 发送电子邮件已经很多年了,而且效果一直很好。目前我使用的是 Delphi 10.4,以及它附带的 Indy 版本。
今天,当我尝试使用特定服务器时,即使一切设置都照常进行,我也遇到了以下异常:
项目 myproject.exe 引发异常类 EIdOSSLUnderlyingCryptoError 并显示消息“使用 SSL 连接时出错”。错误 1409442E:SSL 例程:SSL3_READ_BYTES:tslv1 警报协议版本
就在之后:
项目 myproject.exe 引发异常 EIdTLSClientTLSHandShakeFailed 并显示消息:“SSL 协商失败”
端口是587,到目前为止,我一直在sslvTLSv1
使用TIdSSLIOHandlerSocketOpenSSL.SSLOptions.Method
.
我应该如何尝试使用此特定服务器来完成发送工作?
最有可能的是,相关服务器不允许 TLS 1.0,这是您启用的唯一版本。您应该使用 IOHandler 的SSLOptions.SSLVersions
属性而不是其SSLOptions.Method
属性,然后设置SSLVersions
为[sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2]
,以便客户端可以根据服务器允许的协议协商使用 TLS 1.0、1.1 或 1.2。
归档时间: |
|
查看次数: |
5302 次 |
最近记录: |