protected function authLogin()
    {
        $this->sendData( 'AUTH LOGIN' );
        if ( $this->getReplyCode( $error ) !== '334' )
        {
            throw new ezcMailTransportSmtpException( 'SMTP server does not accept AUTH LOGIN.' );
        }

        $this->sendData( base64_encode( $this->user ) );
        if ( $this->getReplyCode( $error ) !== '334' )
        {
            throw new ezcMailTransportSmtpException( "SMTP server did not accept login: {$this->user}." );
        }

        $this->sendData( base64_encode( $this->password ) );
        if ( $this->getReplyCode( $error ) !== '235' )
        {
            throw new ezcMailTransportSmtpException( 'SMTP server did not accept the provided username and password.' );
        }

        return true;
    }