之前连接到服务器,您需要分配启用SSL的TIdIOHandler
成分,如TIdSSLIOHandlerSocketOpenSSL
,到TIdSMTP.IOHandler
属性和TIdSMTP.UseEHLO
属性设置为True。然后,你有两个选择来配置TLS设置:
设置TIdSMTP.UseTLS
属性utUseExplicitTLS
,然后TIdSMTP.Port
属性设置为25,587,或2587(所有三个在SES支持utUseExplicitTLS
端口)。
设置TIdSMTP.UseTLS
属性utUseImplicitTLS
,然后将TIdSMTP.Port
属性设置为465或2465(上SES支持utUseImplicitTLS
两个端口)。
的UseTLS
值之间的差别在于utUseExplicitTLS
将连接到服务器最初未加密然后发送SMTP STARTTLS
命令给服务器以在需要时启用加密,而utUseImplicitTLS
将连接到服务器并立即启用加密然后可以交换任何与SMTP相关的数据。
亚马逊建议验证服务器的TLS证书以验证连接的完整性。您可以启用TIdSSLIOHandlerSocketOpenSSL.SSLOptions.VerifyMode
属性中的sslvrfPeer
和sslvrfFailIfNoPeerCert
标志,然后根据需要使用TIdSSLIOHandlerSocketOpenSSL.OnVerifyPeer
事件验证证书详细信息。