Este es un problema relativamente complejo y una DESCRIPCIÓN LARGA, así que tengan paciencia. Por favor haga preguntas en los comentarios si cree que puedo aclarar algo. Estoy alojando varios sitios web en una sola computadora que ejecuta macOS Server (versión 5.3.1 que se ejecuta en macOS 10.12.6). En uno de estos sitios web, tengo un formulario PHP que debe enviarme un correo electrónico cuando se envía (pero no). Tengo tres plataformas de prueba: un servidor en la universidad (red empresarial fuertemente regulada), un servidor en casa que aloja el sitio web (red personal relativamente segura y administrada), y una computadora portátil mientras estoy con amigos en el extranjero (relativamente sin administración , probablemente menos seguro, red personal). Los tres dispositivos son computadoras Apple con el servidor macOS configurado.
Lo que sé funciona:
- Tengo mi filtro de correo no deseado configurado para aceptar correos electrónicos de este script PHP.
- PHP está habilitado en la sección de sitios web del servidor MacOS.
- Cuando comencé a construir el sitio (agosto), el código PHP me envió correos electrónicos.
- El script PHP (en su forma actual) funciona.
- Actualmente me estoy quedando con amigos en el extranjero, y si ejecuto este script desde mi computadora portátil a través de la terminal ( php ~/path/to/script.php
) desde aquí, funciona.
Lo que sé no funciona:
- Si completo el formulario en línea, el script php no funciona.
- La ejecución del script a través de la terminal en el servidor de mi casa falla.
- La ejecución del script a través de la terminal en el servidor de mi universidad también falla.
Tenga en cuenta que la función de correo PHP siempre es exitosa, incluso si nunca recibo un correo electrónico.
Son estos últimos puntos los que me hacen pensar que el problema es con un firewall. Desde que inicié los sitios (hace aproximadamente un mes), tuve que cerrar una serie de puertos de servicio que estaba usando al crear los sitios (pantalla compartida, ssh y algunos otros) en el servidor en casa después de que los robots intentaron piratearlo , y me preguntaba si esto podría haber llevado al problema o si es algo completamente diferente.
Pregunta: ¿Puedo hacer que mi script de correo PHP funcione como se espera?
Quizás más información útil: ¡escaneos de puertos!
Aquí hay un escaneo de puerto nmap de la IP pública del sitio web:
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
111/tcp filtered rpcbind
311/tcp open asip-webadmin
443/tcp open https
625/tcp open apple-xsrvr-admin
Aquí hay un escaneo de puertos nmap de mi computadora portátil (localhost) (intentaré obtener un escaneo de puertos de la IP pública de la red pronto y agregarlo a la pregunta, pero esto no es posible en este momento):
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
88/tcp open kerberos-sec
111/tcp open rpcbind
443/tcp open https
445/tcp open microsoft-ds
464/tcp open kpasswd5
548/tcp open afp
749/tcp open kerberos-adm
999/tcp open garcon
1021/tcp open exp1
1023/tcp open netvenuechat
1947/tcp open sentinelsrm
2049/tcp open nfs
3031/tcp open eppc
3322/tcp open active-net
3323/tcp open active-net
3324/tcp open active-net
3325/tcp open active-net
4444/tcp open krb524
5900/tcp open vnc
7000/tcp open afs3-fileserver
7001/tcp open afs3-callback
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
49156/tcp open unknown
49158/tcp open unknown
49159/tcp open unknown
49160/tcp open unknown
49161/tcp open unknown
49163/tcp open unknown
49167/tcp open unknown