Utilizando Gmails SMTP saliente desde PHP usando TLS

Estoy enviando correos electrónicos desde PHP a través del servidor Gmail SMTP. He estado usando el componente de correo electrónico CakePHP con la configuración SMTP establecida. Originalmente, todo funcionaba bien usando SSL a través del puerto 465, pero descubrí que mi servidor web no permite el tráfico saliente a través de 465. Sin embargo, me dijeron que las conexiones salientes a través del puerto 587 están permitidas.

Despues de leerhttp: //mail.google.com/support/bin/answer.py? answer = 13287 Pensé que sería tan fácil como cambiar el número de puerto y el protocolo, pero no puedo hacer que funcione.

La línea de código ofensiva parece ser una llamada abierta:

fsockopen("ssl://smtp.gmail.com", 465, $errNum, $errStr, 30); // WORKS
fsockopen("tls://smtp.gmail.com", 587, $errNum, $errStr, 30); // FAILS

Los errores indicados son:

Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages:
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number in Command line code on line 1

Warning: fsockopen(): Failed to enable crypto in Command line code on line 1

Warning: fsockopen(): unable to connect to tls://smtp.gmail.com:587 (Unknown error) in Command line code on line 1

Esto es con PHP 5.3, phpinfo muestra que OpenSSL está habilitado. Cualquier ayuda sería muy apreciada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta