original_string: public function disconnect()
      {
          if ( $this->status != self::STATUS_NOT_CONNECTED )
          {
              $this->sendData( 'QUIT' );
              $replyCode = $this->getReplyCode( $error ) !== '221';
              fclose( $this->connection );
              $this->status = self::STATUS_NOT_CONNECTED;
              if ( $replyCode )
              {
                  throw new ezcMailTransportSmtpException( "QUIT failed with error: $error." );
              }
          }
      }
code: public function disconnect()
      {
          if ( $this->status != self::STATUS_NOT_CONNECTED )
          {
              $this->sendData( 'QUIT' );
              $replyCode = $this->getReplyCode( $error ) !== '221';
              fclose( $this->connection );
              $this->status = self::STATUS_NOT_CONNECTED;
              if ( $replyCode )
              {
                  throw new ezcMailTransportSmtpException( "QUIT failed with error: $error." );
              }
          }
      }
code_tokens: public function disconnect ( ) { if ( $ this -> status != self :: STATUS_NOT_CONNECTED ) { $ this -> sendData ( 'QUIT' ) ; $ replyCode = $ this -> getReplyCode ( $ error ) !== '221' ; fclose ( $ this -> connection ) ; $ this -> status = self :: STATUS_NOT_CONNECTED ; if ( $ replyCode ) { throw new ezcMailTransportSmtpException ( "QUIT failed with error: $error." ) ; } } }
docstring: Sends the QUIT command to the server and breaks the connection.
  
  @throws ezcMailTransportSmtpException
  if the QUIT command failed
docstring_tokens: Sends the QUIT command to the server and breaks the connection .