Estoy tratando de usar PHPMailer para enviar correos electrónicos con SMTP y gmail. La secuencia de comandos exacta que estoy usando funciona en otros servidores, pero no funciona en el servidor de esta empresa de hosting en particular.¿Cómo puedo verificar si los puertos 465 y 587 están abiertos con PHP?
He comprobado el phpinfo()
y me dice que es allow_url_fopen
on
y no hay disabled_functions
como fopen
enumerado.
El guión falla y me dice que ya sea:
SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
o de lo contrario
SMTP Error: Could not authenticate.
Estoy suponiendo que esto se debe a que no se puede conectar, porque una vez más este trabajo en otros servidores y la las credenciales de autenticación son correctas.
Así que pregunto más en general, ¿hay alguna manera de que pueda usar PHP o jailshell ssh
para verificar y ver si los puertos están realmente abiertos o no?
+1 Para el registro, este es el mismo método que utiliza PHPMailer para conectarse al servidor SMTP (excepto con un tiempo de espera más largo y reintentos). – webbiedave
Gracias. También aprendí que a pesar de que el puerto está abierto a veces la retransmisión está deshabilitada. ¿Alguna forma de verificar eso con PHP? – cwd
@cwd: debe enviar los comandos SMTP apropiados y verificar las respuestas usando 'fwrite' y' fread' en el manejador devuelto por 'fsockopen'. – netcoder