Próbuję połączyć się z Gmailem przez IMAP z PHP działającym w Apache. To jest na systemie Ubuntu 9.04. Mam problem z konfiguracją PHP, który uniemożliwia to działanie. Po pierwsze, oto co zrobiłem do instalacji IMAP dla PHP:Łączenie się z Gmailem przez IMAP z PHP - kontekst SSL nie powiodło się
sudo apt-get install libc-client2007b libc-client2007b-dev
sudo apt-get install php5-imap
sudo /etc/init.d/apache2 start
Gdy uruchomię phpinfo(), otrzymuję następujące wartości IMAP:
IMAP c-Client Version: 2004
SSL Support: enabled
Kerberos Support: enabled
Oto mój przykładowy kod:
<?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);
?>
Kiedy wykonać ten kod, pojawia się następujący komunikat:
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
Zauważ, że mogę telnetować na adres imap.gmail.com:993 z tego komputera. Mogę też podłączyć Evolution (czytnik poczty) do Gmaila przez IMAP i bez problemu pobrać pocztę. Więc nie sądzę, że jest to problem z firewallem. Jestem prawie pewien, że coś w PHP nie jest poprawnie skonfigurowane.
Wszelkie pomysły?
UWAGA: Autor rozwiązać swój problem w dyskusji związanej przez Jordan, patrz http://groups.google.com/group/comp.lang.php/browse_thread/thread/241e619bc70a8bf4/bd3ae0c6a82409bc#e820c4fc3ee78ee3 –
@Clint: odpowiedz lub edytuj własne pytanie zgodnie z rozwiązaniem, które znalazłeś –