PHPDaemon\Clients\IMAP\Pool::open PHP Method

open() public method

public open ( $host, $user, $pass, $cb, $ssl = true )
    public function open($host, $user, $pass, $cb, $ssl = true)
    {
        $params = compact('host', 'user', 'pass', 'cb', 'ssl');
        $params['port'] = $params['ssl'] ? $this->config->sslport->value : $this->config->port->value;
        $dest = 'tcp://' . $params['host'] . ':' . $params['port'] . ($params['ssl'] ? '#ssl' : '');
        $this->getConnection($dest, function ($conn) use($params) {
            if (!$conn || !$conn->isConnected()) {
                call_user_func($params['cb'], false);
                return;
            }
            $conn->auth(function ($conn) use($params) {
                if (!$conn) {
                    call_user_func($params['cb'], false);
                    return;
                }
                $conn->selectBox($params['cb']);
            }, $params['user'], $params['pass']);
            //TODO: startTls
        });
    }