Я пытаюсь подключиться к Gmail через IMAP с PHP, работающим в Apache. Это находится на системе Ubuntu 9.04. У меня есть какая-то проблема с настройкой PHP, которая не позволяет этому работать. Во-первых, вот что я сделал для настройки IMAP для PHP:
sudo apt-get install libc-client2007b libc-client2007b-dev
sudo apt-get install php5-imap
sudo /etc/init.d/apache2 start
Когда я запускаю phpinfo(), я получаю следующие значения imap:
IMAP c-Client Version: 2004
SSL Support: enabled
Kerberos Support: enabled
Вот мой пример кода:
<?php
$connect_to = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX';
$user = 'my gmail address';
$password = 'my gmail password';
$connection = imap_open($connect_to, $user, $password)
or die("Can't connect to '$connect_to': " . imap_last_error());
imap_close($connection);
?>
Когда я выполняю этот код, я получаю следующий вывод:
Warning: imap_open() [function.imap-open]: Couldn't open stream {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX in /var/www/clint/gmail/gmail.php on line 10
Can't connect to '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX': TLS/SSL failure for imap.gmail.com: SSL context failed
Обратите внимание, что я могу использовать telnet для imap.gmail.com:993 с этого компьютера. Я также могу подключить Evolution (mail reader) к Gmail через IMAP и получать почту без проблем. Итак, я не думаю, что это проблема межсетевого экрана. Я уверен, что у меня есть что-то в PHP, неправильно настроенное.
Любые идеи?