UseTLSappropriately, as that governs how SSL/TLS is used during the SMTP session.
UseTLS=utNoTLSSupportis the default, it means no SSL/TLS is used.
UseTLS=utUseImplicitTLSperforms an SSL/TLS handshake as soon as the socket is connected, before any SMTP traffic is exchanged.
UseTLS=utUseExplicitTLSconnects the socket initially unsecure and then issues an SMTP
STARTTLScomand to perform a handshake only if the server advertises support for that. Indy 9 did not support
STARTTLSat all. Indy 10 does. So you have to specify which mode to use. Not all servers support
STARTTLS, but those that do offer it for legacy clients so they don't have to use SSL/TLS if they don't want to. GMail supports both modes. Port 465 is SMTP's implicit SSL port, port 587 is the explicit TLS port.
OpenSSLVersion()wrapper function in the
IdOpenSSLSetLibPath()function to point to it), or if you are compiling for iOS devices (Indy compiles OpenSSL statically on that platform). Indy itself is compiled directly into your app (unless you enable runtime packages, in which case you would then have to deploy those)
But pls consider https://www.openssl.org/source/license.html, for example
- Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- Redistributions of any form whatsoever must retain the following
- "This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- All advertising materials mentioning features or use of this software
- must display the following acknowledgement:
- "This product includes cryptographic software written by
- Eric Young (firstname.lastname@example.org)"
- The word 'cryptographic' can be left out if the rouines from the library
- being used are not cryptographic related :-).
we currently using Explicit option, and here is the code:
however I found that even I remove line 2, it still works correctly. I checked the code for Authenticate, it calls StartTLS. Does TIdSMTP.Connect also call StartTLS as well somewhere?