I can't find any information on the handshake, other than direct C code for the SSL/TLS protocol itself. But I'm willing to bet the OpenSSL library handles the handshake portion internally (verifying certificates), and you only need to use a SSL socket to get it to work.

Code:
After receiving a 220 response to a STARTTLS command, the client MUST
   start the TLS negotiation before giving any other SMTP commands.  If,
   after having issued the STARTTLS command, the client finds out that
   some failure prevents it from actually starting a TLS handshake, then
   it SHOULD abort the connection.


I don't see any outlined sections explaining if the server is responsible for verifying a TLS handshake, but it's probably standard practice for the server to abort the connection if there is going to be a problem with the handshake.

An earlier post you a said you don't have the SSL libraries.. to simplify things, someone has the DLLs zipped ready to be extracted to $mircdir over here


Last edited by _Memo; 20/11/08 03:11 AM.