У меня есть код php, который я пытаюсь использовать для подключения к Gmail с помощью imap. Вот код:
$hostname = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX';
$tmp_username = 'username';
$tmp_password = 'password';
$inbox = imap_open($hostname, $username, $password) or die(imap_last_error());
И я получаю эту ошибку каждый раз, когда пытаюсь подключиться:
Предупреждение: imap_open () [function.imap-open]: не удалось открыть поток {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX в /var/www/PHP/EmailScript.php в строке 14 Вход прерван
Я не понимаю, что может быть не так !! Я слышал о людях с ошибками SSL, но это не одна из них. Пожалуйста, помогите мне пожалуйста !!!!!
Изменить: при попытке подключиться к imap.gmail.com через telnet-ssl я получаю следующий вывод:
Пробуем 74.125.155.109 ... Подключен к gmail-imap.l.google.com. Экранирующий символ - '^]'.
И ничего не происходит
Используйте эту команду, чтобы запустить сеанс ....
openssl s_client -connect imap.gmail.com:993
если я это сделаю, я получу это ...
* OK Gimap ready for requests from <ip_address> 16if41262875qci.66
Если вы используете telnet напрямую на 993, он не должен работать правильно, потому что telnet не использует SSL. Используйте что-нибудь вроде telnet-ssl
или stunnel
вместо этого, чтобы убедиться, что вы подключаетесь к 993 через SSL. Как только это будет сделано, попробуйте посмотреть, получите ли вы приветственное сообщение, а затем попробуйте несколько команд IMAP, чтобы проверить, работают ли они.
Сначала убедитесь, что вы можете подключиться к серверу IMAP с машины:
telnet imap.gmail.com 993
Если соединение работает, проверьте, установлен ли SSL с помощью php-imap, используя phpinfo (), вы должны увидеть что-то вроде этого
imap
IMAP c-Client Version 2004
SSL Support enabled
Kerberos Support enabled
Другие идеи в аналогичной теме в Переполнение стека