Ответ 1
Вам нужен порт 993, порт SSL IMAP.
Порт 995 - это порт SSL POP3.
Есть много людей, имеющих похожие проблемы, но никто не отвечает на их вопросы. У меня есть IMAP включен в PHP, используя всю правильную информацию. Я не вижу, где я ошибаюсь.
Здесь мой код:
$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());
Не возвращать никаких ошибок, кроме:
Предупреждение: imap_open() [function.imap-open]: Не удалось открыть поток {imap.gmail.com:995/imap/ssl/novalidate-cert} в /home/a 8066360/public_html/test/imap.php в строке 6
Не удается подключиться к Gmail: невозможно подключиться к gmail-imap.l.google.com, 995: Время ожидания подключения
Я заметил, что если я сменил одиночные кавычки на `
shell_exec() отключен по соображениям безопасности...
Пожалуйста, помогите!!!
Вам нужен порт 993, порт SSL IMAP.
Порт 995 - это порт SSL POP3.
Я думаю, что доступ к 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
Откройте ссылку и следуйте инструкциям. Поиск
Ваше приложение может не поддерживать новейшие стандарты безопасности. Попробуйте изменить несколько настроек, позволяющих менее безопасным приложениям получать доступ к вашей учетной записи.
Нажмите на ссылку и включите менее безопасный доступ к приложениям.
Затем он работает для меня.
Вы можете настроить двухэтапную аутентификацию, а затем назначить пароль APP для использования в ваших запросах (просто замените свой пароль на тот, который указан для приложения, ваш обычный пароль не изменяется.).
Это поможет вашему script запустить с любого хоста без блокировки Google (из-за изменения местоположения входа).
Вы можете попробовать следующий код, notls
аргумент notls
и подключив сервер следующим образом, если SSL не применяется.
$hostname = '{imap.YOUR_DOMAIN.com:143/imap/notls}INBOX';
$username = 'YOUR_USERNAME';
$password = 'YOUR_PASSWORD';
$inbox = imap_open($hostname, $username, $password) or die('Cannot connect to Gmail: ' . imap_last_error());
Если он не выдаст ошибку, это означает, что вы успешно подключены к серверу. Надеюсь, это поможет.
Вы должны включить данную опцию из учетной записи Gmail и подключиться к серверу Gmail с другого устройства или из Интернета. https://myaccount.google.com/lesssecureapps