/** * @return bool */ private function _connect() { if (null === $this->_oSieve) { $this->_oSieve = new sieve(self::HOST, self::PORT, $this->_sLogin, $this->_sPassword); $this->_oSieve->Log =& $this->_oLog; } if ($this->_oSieve->sieve_alive()) { return true; } else { if ($this->_oSieve->sieve_login()) { @register_shutdown_function(array(&$this->_oSieve, 'sieve_logout')); return true; } } return false; }