original_string: protected function authCramMd5()
      {
          $this->sendData( 'AUTH CRAM-MD5' );
          if ( $this->getReplyCode( $response ) !== '334' )
          {
              throw new ezcMailTransportSmtpException( 'SMTP server does not accept AUTH CRAM-MD5.' );
          }
  
          $serverDigest = trim( substr( $response, 4 ) );
          $clientDigest = hash_hmac( 'md5', base64_decode( $serverDigest ), $this->password );
          $login = base64_encode( "{$this->user} {$clientDigest}" );
  
          $this->sendData( $login );
          if ( $this->getReplyCode( $error ) !== '235' )
          {
              throw new ezcMailTransportSmtpException( 'SMTP server did not accept the provided username and password.' );
          }
  
          return true;
      }
code: protected function authCramMd5()
      {
          $this->sendData( 'AUTH CRAM-MD5' );
          if ( $this->getReplyCode( $response ) !== '334' )
          {
              throw new ezcMailTransportSmtpException( 'SMTP server does not accept AUTH CRAM-MD5.' );
          }
  
          $serverDigest = trim( substr( $response, 4 ) );
          $clientDigest = hash_hmac( 'md5', base64_decode( $serverDigest ), $this->password );
          $login = base64_encode( "{$this->user} {$clientDigest}" );
  
          $this->sendData( $login );
          if ( $this->getReplyCode( $error ) !== '235' )
          {
              throw new ezcMailTransportSmtpException( 'SMTP server did not accept the provided username and password.' );
          }
  
          return true;
      }
code_tokens: protected function authCramMd5 ( ) { $ this -> sendData ( 'AUTH CRAM-MD5' ) ; if ( $ this -> getReplyCode ( $ response ) !== '334' ) { throw new ezcMailTransportSmtpException ( 'SMTP server does not accept AUTH CRAM-MD5.' ) ; } $ serverDigest = trim ( substr ( $ response , 4 ) ) ; $ clientDigest = hash_hmac ( 'md5' , base64_decode ( $ serverDigest ) , $ this -> password ) ; $ login = base64_encode ( "{$this->user} {$clientDigest}" ) ; $ this -> sendData ( $ login ) ; if ( $ this -> getReplyCode ( $ error ) !== '235' ) { throw new ezcMailTransportSmtpException ( 'SMTP server did not accept the provided username and password.' ) ; } return true ; }
docstring: Tries to login to the SMTP server with 'AUTH CRAM-MD5' and returns true if
  successful.
  
  @throws ezcMailTransportSmtpException
  if the SMTP server returned an error
  @return bool
docstring_tokens: Tries to login to the SMTP server with AUTH CRAM - MD5 and returns true if successful .