PHP ile IMAP üzerinden Gmail'de bağlama - SSL bağlamı başarısız oldu

4 Cevap php

Ben PHP Apache çalışan IMAP üzerinden Gmail'e bağlanmaya çalışıyorum. Bu Ubuntu 9.04 sistemi üzerinde bulunmaktadır. Ben bu çalışmasını tutuyor PHP yapılandırma sorunu çeşit var. İlk olarak, burada ben PHP için kurulum IMAP yaptım:

sudo apt-get install libc-client2007b libc-client2007b-dev
sudo apt-get install php5-imap
sudo /etc/init.d/apache2 start

Ben phpinfo çalıştırdığınızda (), ben şu imap değerleri elde edersiniz:

IMAP c-Client Version: 2004
SSL Support: enabled
Kerberos Support: enabled

İşte benim örnek 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);
?>

Ben bu kodu çalıştırdığınızda, aşağıdaki çıktıyı alıyorum:

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

Bu bilgisayardan 993: Ben imap.gmail.com telnet unutmayın. Ben de IMAP üzerinden Gmail'e ve sorunsuz posta almak için Evrim (posta okuyucu) bağlanmasından olabilir. Yani, bu bir güvenlik duvarı sorunu olduğunu düşünmüyorum. Ben doğru değil PHP kurulumunda bir şey var eminim.

Herhangi bir fikir?

4 Cevap

Eğer PHP JavaScript etkinleştirilmelidir Bir daha ek şey, OpenSSL extension olduğunu. Bu (SSL) IMAP istemci kitaplığı bu bağlıdır görünür.

Apache bu isteği PHP kapalı teslim önce işlenir / işlenir gibi etkin OpenSSL modülü varsa farketmez.

Aşağıdaki tartışma iplik biraz ışık tutmak yardımcı olabilir:

http://groups.google.com/group/comp.lang.php/browse_thread/thread/241e619bc70a8bf4/bd3ae0c6a82409bc?lnk=raot&pli=1

Bu uzun bir çaba sonrası benim için çalıştı:

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

phpinfo() ile kurulumu kontrol edin ve --with-imap-ssl listede görmek sağlamak.

Komut satırından kodu çalıştırın ve php bizim diğer hataları tükürür görmek:

php -f gmail.php

Benim Ubuntu yaptım:

sudo apt-get install php5-imap

Ve sisteminin kurulu: glibc-client2007b mlock libc-client2007b mlock php5-imap

O zaman nasıl php5 kaldırmayı ve temiz yeniden yükleme hakkında.