class Net::IMAP

def start_tls_session

def start_tls_session
  raise "SSL extension not installed" unless defined?(OpenSSL::SSL)
  raise "already using SSL" if @sock.kind_of?(OpenSSL::SSL::SSLSocket)
  raise "cannot start TLS without SSLContext" unless ssl_ctx
  @sock = SSLSocket.new(@sock, ssl_ctx)
  @sock.sync_close = true
  @sock.hostname = @host if @sock.respond_to? :hostname=
  ssl_socket_connect(@sock, @open_timeout)
  if ssl_ctx.verify_mode != VERIFY_NONE
    @sock.post_connection_check(@host)
    @tls_verified = true
  end
end