Connessione a Gmail IMAP PHP "Imansible aprire il stream"

Ci sono molte persone che hanno problemi simili ma nessuno risponde alle loro domande. Ho abilitato IMAP in PHP, utilizzando tutte le informazioni corrette. Non vedo where sbaglio.

Ecco il mio codice:

$hostname = '{imap.gmail.com:995/imap/ssl/novalidate-cert}'; $username = '[email protected]'; $password = 'password'; $inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); print_r(imap_errors()); 

Non restituire errori diversi da:

Attenzione: imap_open () [function.imap-open]: Imansible aprire lo stream {imap.gmail.com:995/imap/ssl/novalidate-cert} in /home/a8066360/public_html/test/imap.php on line 6

Imansible connettersi a Gmail: imansible connettersi a gmail-imap.l.google.com, 995: connessione scaduta

Ho notato che se cambio le virgolette singole a `

shell_exec () è stato disabilitato per motivi di sicurezza …

Per favore aiuto!!!

È necessaria la port 993 , la port IMAP SSL.

La port 995 è la port POP3 SSL.

Penso che l'IMAP di Gmail sia accessibile solo sulla port 993.

$hostname = "{imap.gmail.com:993/imap/ssl/novalidate-cert}";

Ho avuto lo stesso errore e ho trovato una soluzione diversa. Ho aggiunto informazioni di debug nell'host:

 "{imap.gmail.com:993/debug/imap/ssl/novalidate-cert}INBOX"; 

Quando ho letto il registro degli errori di php, ho trovato

 Unknown: [ALERT] Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure) (errflg=1) in Unknown on line 0 

Apri link e segui le istruzioni. Cercare

La tua app potrebbe non supportre gli ultimi standard di sicurezza. Prova a modificare alcune impostazioni per consentire alle app less sicure di accedere al tuo account.

Fai clic sul link e abilita l'accesso alle app less sicuro.

Quindi funziona per me.

È ansible impostare l'authentication in due passaggi e quindi assegnare una password APP da utilizzare nelle richieste (basta sostituire la password con quella fornita per l'app, la normale password non cambia).

Ciò aiuterà lo script a essere eseguito da qualsiasi host senza che Google lo blocchi (a causa di una modifica della posizione di accesso).