Leyendo datos de fsockopen usando fgets / fread hangs

Aquí está el código que estoy usando:

<code>if (!($fp = fsockopen('ssl://imap.gmail.com', '993', $errno, $errstr, 15)))
    echo "Could not connect to host";
$server_response = fread($fp, 256);
echo $server_response;

fwrite($fp, "C01 CAPABILITY"."\r\n");
while (!feof($fp)) {
    echo fgets($fp, 256);
}
</code>

Me sale la primera respuesta:

<code>OK Gimap ready for requests from xx.xx.xx.xx v3if9968808ibd.15 
</code>

Pero luego la página se agota. He buscado a través de stream_set_blocking, stream_set_timeout, stream_select, fread, etc. pero no pude hacerlo funcionar. Necesito leer todos los datos que envía el servidor y luego continuar con otros comandos (estaría recuperando correos electrónicos usando imap).

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta