Подключение к Gmail IMAP PHP " не удалось открыть поток"

есть много людей, имеющих аналогичные проблемы, но никто не отвечает на их вопросы. У меня есть IMAP включен в PHP, используя всю правильную информацию. Я не вижу, где я ошибаюсь.

вот мой код:

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

print_r(imap_errors());

не возвращает никаких ошибок, за исключением:

предупреждение: imap_open() [функция.imap-open]: не удалось открыть поток {протокол IMAP.в Gmail.в COM:995/протокол IMAP и SSL/novalidate-CERT С} в / главная/a8066360/public_html/test / imap.PHP на линии 6

Не удается подключиться к Gmail: не удается подключиться к gmail-imap.l.google.com, 995: Время ожидания соединения

Я заметил, что если поменять одинарные кавычки на `

shell_exec() был отключен по соображениям безопасности...

пожалуйста, помогите!!!

4 ответов


нужен порт 993, SSL IMAP


Я думаю, что IMAP Gmail можно получить только на порту 993.

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


у меня была та же ошибка и я нашел другое решение. Я добавил отладочную информацию в узле:

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

когда я читал журнал ошибок php, я нашел

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

открыть ссылку и следуйте инструкциям. Поиск

ваше приложение может не поддерживать современные стандарты безопасности. Попробуйте изменить несколько настроек, чтобы обеспечить менее безопасный доступ приложений к вашей учетной записи.

кликните по ссылке и разрешить доступ приложения.

затем это работает на меня.


вы можете настроить аутентификацию 2 шага, а затем назначить пароль приложения для использования в ваших запросах (просто замените свой пароль тем, который предусмотрен для приложения, ваш обычный пароль не изменится.).

Это поможет вашему скрипту работать с любого хоста без блокировки google (из-за изменения местоположения входа в систему).