Questo è un problema relativamente complesso e una descrizione LUNGA, quindi abbi pazienza con me. Per favore, fai domande nei commenti se pensi che io possa chiarire qualcosa. Sto ospitando più siti Web su un singolo computer con MacOS Server (versione 5.3.1 in esecuzione su macOS 10.12.6). Su uno di questi siti Web, ho un modulo PHP che dovrebbe mandarmi una mail quando inviato (ma non lo fa). Ho tre piattaforme di test: un server al college (rete aziendale pesantemente regolamentata), un server a casa che ospita il sito web (rete personale relativamente sicura e gestita) e un laptop con me mentre sto con gli amici all'estero (relativamente non gestito , probabilmente meno sicura, rete personale). Tutti e tre i dispositivi sono computer Apple con configurazione macOS Server.
Ciò che so funziona:
- Ho il mio filtro antispam impostato per accettare email da questo script PHP.
- PHP è abilitato nella sezione Siti Web di MacOS Server.
- Quando ho iniziato a costruire il sito (agosto), il codice PHP mi ha inviato email.
- Lo script PHP (nella sua forma attuale) funziona.
- Attualmente sto con degli amici all'estero, e se eseguo questo script dal mio portatile tramite terminale ( php ~/path/to/script.php
) da qui, funziona.
Quello che so non funziona:
- Se compilo il modulo online, lo script php non funziona.
- L'esecuzione dello script tramite il terminale sul server a casa mia fallisce.
- Anche l'esecuzione dello script tramite terminale sul server del mio college non funziona.
Si noti che la funzione di posta PHP restituisce successo ogni volta, anche se non ricevo mai un'email.
Sono questi ultimi punti che mi fanno pensare che il problema sia con un firewall. Da quando ho lanciato i siti (circa un mese fa), ho dovuto chiudere un numero di porte di servizio che stavo usando durante la creazione dei siti (condivisione dello schermo, ssh e altri) sul server a casa dopo che i bot hanno provato a hackerarlo e si chiedeva se questo avrebbe potuto portare al problema o se fosse qualcosa di completamente diverso.
Domanda: C'è un modo per far funzionare lo script di posta PHP come previsto?
Forse più informazioni utili: port scan!
Ecco una porta nmap scan dell'IP pubblico del sito 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
Ecco una porta nmap scan del mio laptop (localhost) (proverò a ottenere una scansione delle porte dell'IP pubblico della rete presto e la aggiungerò alla domanda, ma al momento non è possibile):
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